SaveServlet.java 6.37 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 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
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 {
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

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

        try {
            Connection con = DataBase.getConnection();
            Statement stmt = con.createStatement();
32
            ResultSet rs = stmt.executeQuery("SELECT correo,bootcamp_id FROM postulante WHERE postulante.bootcamp_id =" + bootcampActual);
33
            
34 35 36 37
            String nombre=request.getParameter("nombre");
            String apellido=request.getParameter("apellido");
            int cedula=Integer.parseInt(request.getParameter("cedula"));
            String correo=request.getParameter("correo");
38
            //BUCLE PARA VERIFICAR EL CORREO EN EL BOOTCAMP ACTUAL
39 40
            while (rs.next()){
                String correoBase =rs.getString("correo");
41 42 43
                int bootcampIdBase = rs.getInt("bootcamp_id");
                if(correo.equals(correoBase) && (bootcampIdBase==bootcampActual)){
                    rechazarDatos = true;
44 45
                }
            }
46 47 48 49 50 51 52 53 54 55 56
            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;
            }
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
            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;
            }
72

73
            Postulante postulante=new Postulante();
74 75 76
            PostulanteLenguaje cargarLenguaje = new PostulanteLenguaje();
            int status = 0;
            int statusLenguaje = 0;
77 78
            //SI LOS DATOS SON CORRECTOS NO SE RECHAZAN ENTONCES CARGA A LA BASE
            if (!rechazarDatos){
79 80 81 82 83 84 85 86 87
                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);
88
                postulante.setBootcampId(bootcampActual);
89
                postulante.setAceptado(false);
90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106
                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);
                    }
                }
107
            }
108 109 110 111 112 113 114 115 116
            if(status>0){
                //out.print("<p>Record saved successfully!</p>");
                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>");
                request.getRequestDispatcher("formulario.jsp").include(request, response);
            }else{
                if (rechazarDatos){
Yovan Martinez committed
117

118
                    out.print(" <div class=\"alert info\">\n" +
119
                            "  <span class=\"closebtn\" onclick=\"this.parentElement.style.display='none';\">&times;</span> \n" +
120 121 122 123 124 125 126 127
                            "  <strong>Formulario ya Cargado!</strong> YA EXISTE EL FORMULARIO\n" +
                            "</div>");
                    request.getRequestDispatcher("formulario.jsp").include(request, response);
                }else {
                    out.println("Error al cargar datos");
                    out.print(" <div class=\"alert info error\">\n" +
                            "  <span class=\"closebtn\" onclick=\"this.parentElement.style.display='none';\">&times;</span> \n" +
                            "  <strong>Formulario ya Cargado!</strong> YA EXISTE EL FORMULARIO\n" +
128 129
                            "</div>");
                    request.getRequestDispatcher("formulario.jsp").include(request, response);
130
                }
131
            }
132 133 134
        }catch (Exception ex){
                ex.printStackTrace();
        }
135 136 137
        out.close();
    }
}