SaveServlet.java 7.04 KB
Newer Older
1 2 3 4 5
package com.roshka.proyectofinal.Postulante;

import com.roshka.proyectofinal.DataBase;
import com.roshka.proyectofinal.entity.Postulante;
import com.roshka.proyectofinal.entity.Bootcamp;
6
import com.roshka.proyectofinal.entity.PostulanteLenguaje;
7
import jakarta.servlet.RequestDispatcher;
8 9 10 11 12 13 14 15 16 17 18 19 20 21
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;

@WebServlet("/SaveServlet")
public class SaveServlet extends HttpServlet {
22
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
23 24 25 26
            throws ServletException, IOException {

        response.setContentType("text/html");
        PrintWriter out=response.getWriter();
27
        boolean rechazarDatos = false;
28
        int bootcampActual = Integer.parseInt(request.getParameter("bootcamp"));
29 30 31 32

        try {
            Connection con = DataBase.getConnection();
            Statement stmt = con.createStatement();
33
            ResultSet rs = stmt.executeQuery("SELECT correo,bootcamp_id FROM postulante WHERE postulante.bootcamp_id =" + bootcampActual);
34
            
35 36 37 38
            String nombre=request.getParameter("nombre");
            String apellido=request.getParameter("apellido");
            int cedula=Integer.parseInt(request.getParameter("cedula"));
            String correo=request.getParameter("correo");
39
            //BUCLE PARA VERIFICAR EL CORREO EN EL BOOTCAMP ACTUAL
40 41
            while (rs.next()){
                String correoBase =rs.getString("correo");
42 43 44
                int bootcampIdBase = rs.getInt("bootcamp_id");
                if(correo.equals(correoBase) && (bootcampIdBase==bootcampActual)){
                    rechazarDatos = true;
45 46
                }
            }
47 48 49 50 51 52 53 54 55 56 57
            rs = stmt.executeQuery("SELECT * FROM lenguaje");
            int contador = 0;
            while (rs.next()){
                String nombreLenguaje = rs.getString("nombre_lenguaje");
                if (request.getParameter(nombreLenguaje) != null){
                    contador++;
                }
            }
            if (contador == 0){
                rechazarDatos = true;
            }
58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
            String telefono=request.getParameter("telefono");
            String direccion=request.getParameter("direccion");
            boolean experienciaProgramando = false;
            boolean experienciaLaboral = false;
            boolean universidad = false;
            boolean notebook = false;
            if (request.getParameter("experiencia_laboral") != null){
                experienciaLaboral = true;
            }
            if (request.getParameter("notebook") != null){
                notebook = true;
            }
            if (request.getParameter("universidad") != null){
                universidad = true;
            }
73

74
            Postulante postulante=new Postulante();
75 76 77
            PostulanteLenguaje cargarLenguaje = new PostulanteLenguaje();
            int status = 0;
            int statusLenguaje = 0;
78 79
            //SI LOS DATOS SON CORRECTOS NO SE RECHAZAN ENTONCES CARGA A LA BASE
            if (!rechazarDatos){
80 81 82 83 84 85 86 87 88
                postulante.setNombre(nombre);
                postulante.setApellido(apellido);
                postulante.setNro_cedula(cedula);
                postulante.setCorreo(correo);
                postulante.setTelefono(telefono);
                postulante.setDireccion(direccion);
                postulante.setExpLaboral(experienciaLaboral);
                postulante.setEstudioUniversitario(universidad);
                postulante.setNotebook(notebook);
89
                postulante.setBootcampId(bootcampActual);
90
                postulante.setAceptado(false);
91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107
                status=PostulanteDao.save(postulante);

                rs = stmt.executeQuery("SELECT id FROM postulante WHERE postulante.nro_cedula="+cedula+" AND postulante.bootcamp_id="+bootcampActual+" ORDER BY id DESC LIMIT 1");
                int idUltimoPostulante=0;
                while (rs.next()) {
                    idUltimoPostulante = rs.getInt("id");
                }
                rs = stmt.executeQuery("SELECT * FROM lenguaje");
                while (rs.next()){
                    int idLenguaje = rs.getInt("id");
                    String nombreLenguaje = rs.getString("nombre_lenguaje");
                    if (request.getParameter(nombreLenguaje) != null){
                        cargarLenguaje.setIdLenguaje(idLenguaje);
                        cargarLenguaje.setIdPostulante(idUltimoPostulante);
                        statusLenguaje = PostulanteLenguajeDao.save(cargarLenguaje);
                    }
                }
108
            }
109 110
            if(status>0){
                //out.print("<p>Record saved successfully!</p>");
111

112 113 114 115
                out.print(" <div class=\"alert\">\n" +
                        "  <span class=\"closebtn\" onclick=\"this.parentElement.style.display='none';\">&times;</span> \n" +
                        "  <strong>Formulario Cargado!</strong> EXITOSAMENTE CARGADO\n" +
                        "</div>");
116 117 118 119 120
                request.setAttribute("bootcamp", bootcampActual);
                RequestDispatcher rd = request.getRequestDispatcher("formulario.jsp");
                rd.include(request, response);
                //RequestDispatcher rd = request.getRequestDispatcher("formulario.jsp");
                //rd.include(request, response);
121 122
            }else{
                if (rechazarDatos){
123 124 125 126 127 128 129 130 131

                    out.print("<div class='alert info''>");
                    out.print("<span class='closebtn'' onclick='this.parentElement.style.display='none';'>&times;</span>");
                    out.print("<strong>Formulario ya Cargado!</strong> YA EXISTE EL FORMULARIO");
                    out.print("</div>");
                    //request.getRequestDispatcher("formulario.jsp").include(request, response);
                    request.setAttribute("bootcamp", bootcampActual);
                    RequestDispatcher rd = request.getRequestDispatcher("formulario.jsp");
                    rd.include(request, response);
132
                }else {
133

134
                    out.println("Error al cargar datos");
135 136 137
                    out.print("<div class='alert info error'>" +
                            "<span class=\"closebtn\" onclick=\"this.parentElement.style.display='none';\">&times;</span> \n" +
                            "<strong>Formulario ya Cargado!</strong> YA EXISTE EL FORMULARIO\n" +
138
                            "</div>");
139 140 141 142
                    request.setAttribute("bootcamp", bootcampActual);
                    RequestDispatcher rd = request.getRequestDispatcher("formulario.jsp");
                    rd.include(request, response);
                    //request.getRequestDispatcher("formulario.jsp").include(request, response);
143
                }
144
            }
145 146 147
        }catch (Exception ex){
                ex.printStackTrace();
        }
148 149 150
        out.close();
    }
}