/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package pe.siso.horario.Servlets;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import pe.siso.horario.Beans.TipoCentro;
import pe.siso.horario.Services.TipoCentroServices;

/**
 *
 * @author fcelestino
 */
public class ServletTipoCentro extends HttpServlet {
    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String param=request.getParameter("Accion");
        if("listadoTipoCentro".equals(param)){
            listadoTipoCentro(request,response);
        }else if("registarTipoCentro".equals(param)){
            registarTipoCentro(request,response);
        }else if("cambiarEstado".equals(param)){
            cambiarEstado(request,response);
        }else if("cargarTipoCentro".equals(param)){
            cargarTipoCentro(request,response);
        }else if("armarEdicion".equals(param)){
            armarEdicion(request,response);
        }else if("actualizar".equals(param)){
            actualizar(request,response);
        }else if("cargarTipoCentroBlo".equals(param)){
            cargarTipoCentroBlo(request,response);
        }else if("cantidadUsoTipo".equals(param)){
            cantidadUsoTipo(request,response);
        }
    }
    
    

    private void listadoTipoCentro(HttpServletRequest request, HttpServletResponse response) throws IOException {
        TipoCentroServices servicios = new TipoCentroServices();
        ArrayList<TipoCentro> lista = null;
        
        lista=servicios.listarTipoCentro();
        
        response.setContentType("text/html");
        PrintWriter pw = response.getWriter();
        
        pw.println("<div style=\"border: 1px solid #CCCCCC;\">\n" +
"                       <div class=\"table-header\">\n" +
"                           Listado de Tipo Centro\n" +
"                       </div>\n" +
"                       <div>\n" +
"                           <div class=\"dataTables_wrapper form-inline no-footer\" id=\"sample-table-2_wrapper\">\n" +
"                               <table class=\"table table-striped table-bordered table-hover dataTable no-footer\" id=\"sample-table-2\" role=\"grid\" aria-describedby=\"sample-table-2_info\" >\n" +
"                                   <thead>\n" +
"                                       <tr role=\"row\">\n" +
"                                           <th tabindex=\"0\" class=\"center\" rowspan=\"1\" colspan=\"1\" >N°</th>\n" +
"                                           <th tabindex=\"0\" class=\"center\" rowspan=\"1\" colspan=\"1\">TIPO CENTRO</th>\n" +
"                                           <th tabindex=\"0\" class=\"center\" rowspan=\"1\" colspan=\"1\">EDICIÓN</th>\n" +
"                                           <th tabindex=\"0\" class=\"center\" rowspan=\"1\" colspan=\"1\">ESTADO</th>\n" +
"                                       </tr>\n" +
"                                   </thead>\n" +
"                                   <tbody>");

        int cont= 1;
        for(int i=0; i< lista.size(); i++) {
           
            if(cont%2==0){
                pw.println("<tr class=\"alt\" >");
            }else{
                pw.println("<tr >");
            }
            
            String estado="";
            if(lista.get(i).getEstadoTipoCentro()==1){
                estado="<a href=\"javascript:validar_estado(0,"+lista.get(i).getCodigoTipoCentro()+");\" class=\"regular\" >\n" +
                            "<img src=\"imagenes/icons/lightbulb.png\" />\n" +
                        "</a>";
            }else{
                estado="<a href=\"javascript:validar_estado(1,"+lista.get(i).getCodigoTipoCentro()+");\" class=\"regular\" >\n" +
                            "<img src=\"imagenes/icons/lightbulb_off.png\" />\n" +
                        "</a>";
            }
            
             pw.println("   <td align='center' width='20'>"+cont+"</td>"
                     + "    <td>"+lista.get(i).getNombreTipoCentro()+"</td>"
                     + "    <td  align='center' width='50'><a href=\"javascript:armarEdicion("+lista.get(i).getCodigoTipoCentro()+");\" class=\"regular\" >\n"
                     + "            <img src=\"imagenes/icons/page_edit.png\" />\n"
                     + "        </a>"
                     + "    </td>"
                     + "    <td align='center' valign='middle' width='50'>"+estado+"</td>"
                     + " </tr>");
            cont++;
        }
        
        if(cont==1){
            pw.println("<tr><td colspan='4' align='center'>No hay Tipo Centros registrados</td></tr>");
        } 
          
         pw.println("               </tbody>\n" +
"                               </table>\n" +
"                           </div>"
                 + "    </div>"
                 + "</div>");
    }

    private void registarTipoCentro(HttpServletRequest request, HttpServletResponse response) throws IOException {
        TipoCentroServices servicios = new TipoCentroServices();      
        String nombreTipoCentro = request.getParameter("Tcentro");
        int dato =servicios.registrarTipoCentro(nombreTipoCentro);
        response.setContentType("text/html");
        PrintWriter pw = response.getWriter();
        
        if(dato==0){
            pw.println("Se registro con existo el nuevo Tipo centro");
        }else if(dato>0){
            pw.println("No se registró Tipo centro por que ya existe uno con ese nombre");
        }else{
            pw.println("Ocurrió un error");
        }
        
    }

    private void cambiarEstado(HttpServletRequest request, HttpServletResponse response) {
        TipoCentroServices servicios = new TipoCentroServices();
        String dato = request.getParameter("dato");
        String codTipoCentro = request.getParameter("codTipoCentro");
        servicios.cambiarEstado(dato, codTipoCentro); 
    }

    private void cargarTipoCentro(HttpServletRequest request, HttpServletResponse response) throws IOException {
        TipoCentroServices servicios = new TipoCentroServices();
        ArrayList<TipoCentro> lista = null;
        String accion = request.getParameter("accion");
        
        lista=servicios.cargarTipoCentro();
        
        response.setContentType("text/html");
        PrintWriter pw = response.getWriter();
        
         pw.println("<select id='cmbTipoCentro' class='form-control validate[required]' onChange='"+accion+"'>");
         pw.println("<option value=''>[Seleccione]</option>");
        for(int i=0; i< lista.size(); i++) {
            pw.println("<option value='"+lista.get(i).getCodigoTipoCentro()+"'>"+lista.get(i).getNombreTipoCentro()+"</option>");
        }

         pw.println("</select>");
        //acaba la session de la sede 
        HttpSession session_actual = request.getSession(true);
        session_actual.getAttribute("sesionSede");

        if (session_actual.getAttribute("sesionSede") != null) {
            session_actual.removeAttribute("sesionSede");

        }
         
         
    }
    
    
    private void armarEdicion(HttpServletRequest request, HttpServletResponse response) throws IOException {
       TipoCentroServices servicios= new TipoCentroServices();
       TipoCentro tipo=new TipoCentro();
       String codCentro= request.getParameter("codCentro");
       tipo=servicios.NombreCentro(codCentro);
       
        response.setContentType("text/html");
        PrintWriter pw = response.getWriter();
         pw.println("<table  width='100%'>"
               + "<tr>"
               + "<td align='center'> "
               + "<table border='0'>"
               + "      <tr>"
               + "          <td colspan='4' height='30'></td>"
               + "      </tr>"
               + "      <tr>"
               + "          <td><b>Tipo Centro:</b></td>"
               + "          <td width='5'></td>"
               + "          <td><input id='txt_nom_centro' type='text' class='validate[required,custom[onlyLetterSp]]' value='"+tipo.getNombreTipoCentro()+"' onChange='conMayusculas(this);' ></td>"
               + "          <td width='20'></td>"
               + "      </tr>"
               + "  </table>"
               + "</td>"
               + "</tr>"
               + "</table>");
    }

    private void actualizar(HttpServletRequest request, HttpServletResponse response) {
        TipoCentroServices servicios = new TipoCentroServices();
        String nombre = request.getParameter("nombre");
        String codCentro = request.getParameter("codCentro");
        
        servicios.actualizar(codCentro, nombre);
    }

    private void cargarTipoCentroBlo(HttpServletRequest request, HttpServletResponse response) throws IOException {
        TipoCentroServices servicios = new TipoCentroServices();
        ArrayList<TipoCentro> lista = null;
        String accion = request.getParameter("accion");
        String codSede = request.getParameter("codSede");
        
        lista=servicios.cargarTipoCentro(codSede);
        
        response.setContentType("text/html");
        PrintWriter pw = response.getWriter();
        
         pw.println("<select id='cmbTipoCentro' class='form-control' onChange='"+accion+"'>");
         pw.println("<option value=''>[Seleccione]</option>");
        for(int i=0; i< lista.size(); i++) {
            pw.println("<option value='"+lista.get(i).getCodigoTipoCentro()+"'>"+lista.get(i).getNombreTipoCentro()+"</option>");
        }

         pw.println("</select>");
    }

    private void cantidadUsoTipo(HttpServletRequest request, HttpServletResponse response) throws IOException {
        TipoCentroServices servicios = new TipoCentroServices();
        String codTipoCentro = request.getParameter("codTipoCentro");
        int dato=servicios.cantidadUsoCentro(codTipoCentro);
        response.setContentType("text/html");
        PrintWriter pw = response.getWriter();
        if(dato>0){
            pw.println("1");
        }else{
            pw.println("0");
        }
            
    }
    

}
