示例#1
0
        public List <E_EVENTO> ObtieneEventos(int?ID_EVENTO        = null, int?ID_PROGRAMA      = null, int?ID_CURSO     = null, int?ID_INSTRUCTOR      = null, int?ID_EMPLEADO_EVALUADOR = null,
                                              string CL_EVENTO     = null, string NB_EVENTO     = null, string DS_EVENTO = null, DateTime?FE_INICIO     = null, DateTime?FE_TERMINO       = null, string NB_CURSO = null,
                                              string NB_INSTRUCTOR = null, string CL_TIPO_CURSO = null, string CL_ESTADO = null, DateTime?FE_EVALUACION = null, string DS_LUGAR           = null, decimal?MN_COSTO_DIRECTO = null, decimal?MN_COSTO_INDIRECTO = null, Guid?FL_EVENTO = null, string CL_TOKEN = null)
        {
            EventoCapacitacionOperaciones op = new EventoCapacitacionOperaciones();

            return(op.ObtenerEventos(ID_EVENTO, ID_PROGRAMA, ID_CURSO, ID_INSTRUCTOR, ID_EMPLEADO_EVALUADOR, CL_EVENTO, NB_EVENTO, DS_EVENTO, FE_INICIO, FE_TERMINO, NB_CURSO, NB_INSTRUCTOR, CL_TIPO_CURSO, CL_ESTADO, FE_EVALUACION, DS_LUGAR, MN_COSTO_DIRECTO, MN_COSTO_INDIRECTO, FL_EVENTO, CL_TOKEN));
        }
示例#2
0
        public E_RESULTADO EliminaEventoParticipante(int pIdEventoParticipante)
        {
            EventoCapacitacionOperaciones oEvento = new EventoCapacitacionOperaciones();

            return(UtilRespuesta.EnvioRespuesta(oEvento.EliminarEventoParticipante(pIdEventoParticipante)));
        }
示例#3
0
        public E_RESULTADO ActualizaEvaluacionCompetencias(string pXmlEvaluacion, string pClUsuario, string pNbPrograma)
        {
            EventoCapacitacionOperaciones oEvento = new EventoCapacitacionOperaciones();

            return(UtilRespuesta.EnvioRespuesta(oEvento.ActualizarEvaluacionCompetencias(pXmlEvaluacion, pClUsuario, pNbPrograma)));
        }
示例#4
0
        public List <SPE_OBTIENE_EVENTO_PARTICIPANTE_COMPETENCIA_Result> ObtieneEventoParticipanteCompetencia(int?ID_EVENTO_PARTICIPANTE_COMPETENCIA = null, int?ID_EVENTO = null, int?ID_PARTICIPANTE = null, int?ID_COMPETENCIA = null, byte?NO_EVALUACION = null, string NB_COMPETENCIA = null, int?ID_EMPRESA = null, int?pID_ROL = null)
        {
            EventoCapacitacionOperaciones oEvento = new EventoCapacitacionOperaciones();

            return(oEvento.ObtenerEventoParticipanteCompetencia(ID_EVENTO_PARTICIPANTE_COMPETENCIA, ID_EVENTO, ID_PARTICIPANTE, ID_COMPETENCIA, NO_EVALUACION, NB_COMPETENCIA, ID_EMPRESA, pID_ROL));
        }
示例#5
0
        public E_RESULTADO ActualizaEventoCalendario(string XML_PARTICIPANTES, string CL_USUARIO, string NB_PROGRAMA)
        {
            EventoCapacitacionOperaciones op = new EventoCapacitacionOperaciones();

            return(UtilRespuesta.EnvioRespuesta(op.ActualizarEventoCalendario(XML_PARTICIPANTES, CL_USUARIO, NB_PROGRAMA)));
        }
示例#6
0
        public List <E_EVENTO_CALENDARIO> ObtieneEventoCalendario(int?ID_EVENTO_CALENDARIO = null, int?ID_EVENTO = null, DateTime?FE_INICIAL = null, DateTime?FE_FINAL = null, int?NO_HORAS = null)
        {
            EventoCapacitacionOperaciones oEvento = new EventoCapacitacionOperaciones();

            return(oEvento.ObtenerEventoCalendario(ID_EVENTO_CALENDARIO, ID_EVENTO, FE_INICIAL, FE_FINAL, NO_HORAS));
        }
示例#7
0
        public List <E_EVENTO_PARTICIPANTE> ObtieneParticipanteEvento(int?ID_EVENTO_PARTICIPANTE = null, int?ID_EVENTO = null, int?ID_EMPLEADO = null, string CL_PARTICIPANTE = null, string NB_PARTICIPANTE = null, string NB_PUESTO = null, string NB_DEPARTAMENTO = null, int?NO_TIEMPO = null, decimal?PR_CUMPLIMIENTO = null, int?pID_ROL = null)
        {
            EventoCapacitacionOperaciones op = new EventoCapacitacionOperaciones();

            return(op.ObtenerParticipanteEvento(ID_EVENTO_PARTICIPANTE, ID_EVENTO, ID_EMPLEADO, CL_PARTICIPANTE, NB_PARTICIPANTE, NB_PUESTO, NB_DEPARTAMENTO, NO_TIEMPO, PR_CUMPLIMIENTO, pID_ROL));
        }
示例#8
0
        public E_RESULTADO EliminaEvento(int pIdEvento)
        {
            EventoCapacitacionOperaciones oEventoCapacitacion = new EventoCapacitacionOperaciones();

            return(UtilRespuesta.EnvioRespuesta(oEventoCapacitacion.EliminaEvento(pIdEvento)));
        }
示例#9
0
        public string ObtieneCampoAdicionalXml(String CL_TABLA_REFERENCIA = null)
        {
            EventoCapacitacionOperaciones oEvento = new EventoCapacitacionOperaciones();

            return(oEvento.ObtenerCamposAdicionalesXml(CL_TABLA_REFERENCIA));
        }
示例#10
0
        public E_RESULTADO InsertaActualizaEvento(string tipo_transaccion, E_EVENTO evento, string usuario, string programa)
        {
            EventoCapacitacionOperaciones oEvento = new EventoCapacitacionOperaciones();

            return(UtilRespuesta.EnvioRespuesta(oEvento.InsertaActualizaEvento(tipo_transaccion, evento, usuario, programa)));
        }
示例#11
0
        public List <E_EVENTO_PARTICIPANTE_COMPETENCIA> ObtieneReporteResultadosEventoDetalle(int pIdEvento)
        {
            EventoCapacitacionOperaciones oEvento = new EventoCapacitacionOperaciones();

            return(oEvento.ObtenerReporteResultadosEventoDetalle(pIdEvento));
        }
示例#12
0
        public List <SPE_OBTIENE_EMPLEADOS_Result> ObtenerEmpleados(XElement pXmlSeleccion = null)
        {
            EventoCapacitacionOperaciones oEmpleados = new EventoCapacitacionOperaciones();

            return(oEmpleados.ObtenerEmpleados(pXmlSeleccion));
        }
示例#13
0
        public List <SPE_OBTIENE_FYD_REPORTE_RESULTADOS_EVENTO_Result> ObtieneReporteResultadosEvento(int pIdEvento, int?vIdRol)
        {
            EventoCapacitacionOperaciones oEventoCapacitacion = new EventoCapacitacionOperaciones();

            return(oEventoCapacitacion.ObtenerReporteResultadosEvento(pIdEvento, vIdRol));
        }
示例#14
0
        public E_RESULTADO EliminaEventoCalendario(int pIdEventoCalendario)
        {
            EventoCapacitacionOperaciones op = new EventoCapacitacionOperaciones();

            return(UtilRespuesta.EnvioRespuesta(op.EliminarEventoCalendario(pIdEventoCalendario)));
        }
示例#15
0
        public E_RESULTADO EliminaEmpleadoPrograma(int pIdPrograma, int pIdEmpleado)
        {
            EventoCapacitacionOperaciones oEventoCapacitacion = new EventoCapacitacionOperaciones();

            return(UtilRespuesta.EnvioRespuesta(oEventoCapacitacion.EliminaEmpleadoPrograma(pIdPrograma, pIdEmpleado)));
        }
示例#16
0
        /// <summary>
        /// Obtener la información del proceso que se realizara
        /// </summary>
        /// <param name="Proceso">Clave del proceso.</param>
        /// <param name="Folio">Folio correspondiente al proceso. Con este folio se obtienen los datos a mostrar.</param>
        /// <returns>Regresa un booleano en caso de que no exista información dependiendo del folio y el proceso.</returns>
        public bool ObtenerInformacionProceso(string Proceso)
        {
            bool resultado;


            switch (Proceso)
            {
            case "EVALUACION":

                EventoCapacitacionOperaciones op = new EventoCapacitacionOperaciones();

                E_EVENTO evento = op.ObtenerEventos(FL_EVENTO: FolioProceso).FirstOrDefault();

                if (evento != null)
                {
                    IdProceso           = evento.ID_EVENTO;
                    NombreProceso       = evento.NB_EVENTO;
                    UsuarioProceso      = evento.NB_EVALUADOR;
                    ContraseñaProceso   = evento.CL_TOKEN;
                    FechaInicialProceso = evento.FE_EVALUACION.Value;
                    FechaFinalProceso   = evento.FE_EVALUACION.Value;
                    // FechaFinalProceso = evento.FE_TERMINO;
                    MensajeError = "";
                    resultado    = true;
                }
                else
                {
                    MensajeError = "El evento no existe.";
                    resultado    = false;
                }
                break;

            case "CUESTIONARIOS":
                PeriodoOperaciones oPeriodo = new PeriodoOperaciones();

                SPE_OBTIENE_FYD_PERIODO_EVALUADOR_Result oPeriodoEvaluador = oPeriodo.ObtenerPeriodoEvaluador(pFlEvaluador: FolioProceso);
                if (oPeriodoEvaluador != null)
                {
                    int  oPeriodoEvaluadorcontestado = oPeriodo.ObtenerPeriodoEvaluadorContestado(pFlEvaluador: FolioProceso);
                    bool fg_contestado_total;
                    if (oPeriodoEvaluadorcontestado > 0)
                    {
                        fg_contestado_total = false;
                    }
                    else
                    {
                        fg_contestado_total = true;
                    }
                    IdProceso                = oPeriodoEvaluador.ID_EVALUADOR;
                    NombreProceso            = oPeriodoEvaluador.NB_PERIODO;
                    UsuarioProceso           = oPeriodoEvaluador.NB_EVALUADOR;
                    ContraseñaProceso        = oPeriodoEvaluador.CL_TOKEN;
                    fgCuestionarioContestado = fg_contestado_total;
                    clEstatusProceso         = oPeriodoEvaluador.CL_ESTADO_PERIODO;
                    MensajeError             = "";
                    resultado                = true;
                }
                else
                {
                    MensajeError = "El periodo no existe.";
                    resultado    = false;
                }

                break;

            case "CLIMALABORAL":

                ClimaLaboralOperaciones oClima = new ClimaLaboralOperaciones();
                SPE_OBTIENE_EO_PERIODO_EVALUADOR_Result oClimaEvaluador = oClima.ObtenerPeriodoEvaluador(pFlEvaluador: FolioProceso);

                if (oClimaEvaluador != null)
                {
                    IdProceso                = oClimaEvaluador.ID_EVALUADOR;
                    IdPeriodo                = oClimaEvaluador.ID_PERIODO;
                    NombreProceso            = oClimaEvaluador.NB_PERIODO;
                    UsuarioProceso           = oClimaEvaluador.NB_EVALUADOR;
                    ContraseñaProceso        = oClimaEvaluador.CL_TOKEN;
                    fgCuestionarioContestado = oClimaEvaluador.FG_CONTESTADO;
                    clEstadoEmpleado         = oClimaEvaluador.CL_ESTADO_EMPLEADO;
                    MensajeError             = "";
                    resultado                = true;
                }
                else
                {
                    MensajeError = "El periodo no existe.";
                    resultado    = false;
                }
                break;

            case "ENTREVISTA_SELECCION":

                ProcesoSeleccionNegocio nProcesoSeleccion = new ProcesoSeleccionNegocio();
                var vProcesoSeleccion = nProcesoSeleccion.ObtieneEntrevistaProcesoSeleccion(pFlEntrevista: FolioProceso).FirstOrDefault();

                if (vProcesoSeleccion != null)
                {
                    IdProceso         = vProcesoSeleccion.ID_ENTREVISTA;
                    IdPeriodo         = vProcesoSeleccion.ID_PROCESO_SELECCION;
                    UsuarioProceso    = vProcesoSeleccion.NB_ENTREVISTADOR;
                    ContraseñaProceso = vProcesoSeleccion.CL_TOKEN;

                    resultado = true;
                }
                else
                {
                    MensajeError = "La entrevista no existe.";
                    resultado    = false;
                }

                break;

            case "NOTIFICACIONRRHH":

                RequisicionNegocio nNotificacion = new RequisicionNegocio();
                var vNotificacion = nNotificacion.ObtieneRequisicion(flNotificacion: FolioProceso).FirstOrDefault();

                if (vNotificacion != null)
                {
                    IdProceso         = (int)vNotificacion.ID_PUESTO;
                    IdPeriodo         = (int)vNotificacion.ID_REQUISICION;
                    NombreProceso     = vNotificacion.NB_PUESTO;
                    ContraseñaProceso = vNotificacion.CL_TOKEN_PUESTO;
                    FlRequisicion     = vNotificacion.NO_REQUISICION;
                    clEstatusProceso  = vNotificacion.CL_ESTATUS_PUESTO;
                    resultado         = true;
                }
                else
                {
                    MensajeError = "El puesto no existe.";
                    resultado    = false;
                }

                break;

            case "AUTORIZAREQUISICION":

                RequisicionNegocio nARequisicion = new RequisicionNegocio();
                var vAutorizaRequisicion         = nARequisicion.ObtenerAutorizarRequisicion(FL_REQUISICION: FolioProceso).FirstOrDefault();

                if (vAutorizaRequisicion != null)
                {
                    IdProceso         = vAutorizaRequisicion.ID_REQUISICION;
                    FlRequisicion     = vAutorizaRequisicion.NO_REQUISICION;
                    IdPeriodo         = Convert.ToInt32(vAutorizaRequisicion.ID_REQUISICION);
                    NombreProceso     = vAutorizaRequisicion.NB_PUESTO;
                    ContraseñaProceso = vAutorizaRequisicion.CL_TOKEN_REQUISICION;
                    clEstatusProceso  = vAutorizaRequisicion.CL_ESTATUS_REQUISICION;

                    resultado = true;
                }
                else
                {
                    MensajeError = "La notificación no existe.";
                    resultado    = false;
                }
                break;

            case "AUTORIZAREQPUESTO":

                RequisicionNegocio nAReqPuesto = new RequisicionNegocio();
                var vRequisicion = nAReqPuesto.ObtenerAutorizarRequisicion(FL_REQUISICION: FolioProceso).FirstOrDefault();

                if (vRequisicion != null)
                {
                    IdProceso         = vRequisicion.ID_REQUISICION;
                    FlRequisicion     = vRequisicion.NO_REQUISICION;
                    IdPeriodo         = Convert.ToInt32(vRequisicion.ID_REQUISICION);
                    NombreProceso     = vRequisicion.NB_PUESTO;
                    ContraseñaProceso = vRequisicion.CL_TOKEN_REQUISICION;
                    clEstatusProceso  = vRequisicion.CL_ESTATUS_REQUISICION.Equals("AUTORIZADO") & vRequisicion.CL_ESTATUS_PUESTO.Equals("AUTORIZADO") ? "AUTORIZADO" : "FALTA";

                    resultado = true;
                }
                else
                {
                    MensajeError = "La requisición no existe";
                    resultado    = false;
                }
                break;

            case "DESEMPENO":

                PeriodoDesempenoNegocio oDesempeno = new PeriodoDesempenoNegocio();
                SPE_OBTIENE_EO_PERIODO_EVALUADOR_DESEMPENO_Result oDesempenoEvaluador = oDesempeno.ObtenerPeriodoEvaluadorDesempeno(pFL_EVALUADOR: FolioProceso);

                if (oDesempenoEvaluador != null)
                {
                    IdProceso         = oDesempenoEvaluador.ID_EVALUADOR;
                    IdPeriodo         = oDesempenoEvaluador.ID_PERIODO;
                    NombreProceso     = oDesempenoEvaluador.NB_PERIODO;
                    UsuarioProceso    = oDesempenoEvaluador.NB_EVALUADOR;
                    ContraseñaProceso = oDesempenoEvaluador.CL_TOKEN;
                    //clEstatusProceso = oDesempenoEvaluador.CL_ESTATUS_CAPTURA;
                    clEstatusProceso = oDesempenoEvaluador.CL_ESTADO_PERIODO;
                    clEstadoEmpleado = oDesempenoEvaluador.CL_ESTADO_EMPLEADO;
                    fgCapturaMasiva  = oDesempenoEvaluador.FG_CAPTURA_MASIVA;
                    MensajeError     = "";
                    resultado        = true;
                }
                else
                {
                    MensajeError = "El periodo no existe.";
                    resultado    = false;
                }
                break;

            case "CUESTIONARIO":

                PeriodoDesempenoNegocio oDesempenos = new PeriodoDesempenoNegocio();
                SPE_OBTIENE_EO_PERIODO_EVALUADOR_DESEMPENO_Result oDesempenoEvaluadores = oDesempenos.ObtenerPeriodoEvaluadorDesempeno(pFL_EVALUADOR: FolioProceso);

                if (oDesempenoEvaluadores != null)
                {
                    IdProceso         = oDesempenoEvaluadores.ID_EVALUADOR;
                    IdPeriodo         = oDesempenoEvaluadores.ID_PERIODO;
                    NombreProceso     = oDesempenoEvaluadores.NB_PERIODO;
                    UsuarioProceso    = oDesempenoEvaluadores.NB_EVALUADOR;
                    ContraseñaProceso = oDesempenoEvaluadores.CL_TOKEN;
                    MensajeError      = "";
                    resultado         = true;
                }
                else
                {
                    MensajeError = "El periodo no existe.";
                    resultado    = false;
                }
                break;

            default:
                resultado    = false;
                MensajeError = "No se encontró el proceso especificado";
                break;
            }


            return(resultado);
        }
示例#17
0
        public UDTT_ARCHIVO ListaAsistencia(int pIdEvento, int?pIdRol)
        {
            EventoCapacitacionOperaciones op  = new EventoCapacitacionOperaciones();
            UDTT_ARCHIVO excelListaAsistencia = new UDTT_ARCHIVO();
            SPE_OBTIENE_EVENTO_LISTA_ASISTENCIA_Result oDatos = op.ObtenerDatosListaAsistencia(pIdEvento, pIdRol);

            Stream newStream = new MemoryStream();

            int vRow;
            int vCol;

            if (oDatos.XML_EVENTO_PARTICIPANTE != null)
            {
                using (ExcelPackage pck = new ExcelPackage(newStream))
                {
                    var ws = pck.Workbook.Worksheets.Add("ListaAsistencia");
                    ws.View.ShowGridLines = false;

                    //Agregamos los datos generales del evento
                    XElement xmlEvento = XElement.Parse(oDatos.XML_EVENTO);

                    ws.Cells["A3"].Value = "Clave del evento:";
                    ws.Cells["B3"].Value = UtilXML.ValorAtributo <string>(xmlEvento.Attribute("CL_EVENTO"));
                    ws.Cells["A4"].Value = "Descripción:";
                    ws.Cells["B4"].Value = UtilXML.ValorAtributo <string>(xmlEvento.Attribute("NB_EVENTO"));
                    ws.Cells["A5"].Value = "Nombre del curso:";
                    ws.Cells["B5"].Value = UtilXML.ValorAtributo <string>(xmlEvento.Attribute("NB_CURSO"));
                    ws.Cells["A6"].Value = "Nombre del instructor:";
                    ws.Cells["B6"].Value = UtilXML.ValorAtributo <string>(xmlEvento.Attribute("NB_INSTRUCTOR"));


                    //agregamos los datos de los participantes del evento

                    if (oDatos.XML_EVENTO_PARTICIPANTE != null)
                    {
                        XElement xmlParticipantes = XElement.Parse(oDatos.XML_EVENTO_PARTICIPANTE);

                        vRow = 13;
                        vCol = 1;

                        foreach (XElement item in xmlParticipantes.Elements("PARTICIPANTE"))
                        {
                            ws.Cells[vRow, vCol].Value = UtilXML.ValorAtributo <string>(item.Attribute("CL_PARTICIPANTE"));
                            vCol++;
                            ws.Cells[vRow, vCol].Value = UtilXML.ValorAtributo <string>(item.Attribute("NB_PARTICIPANTE"));
                            vCol++;
                            ws.Cells[vRow, vCol].Value = UtilXML.ValorAtributo <string>(item.Attribute("NB_PUESTO"));
                            //vCol++;
                            //ws.Cells[vRow, vCol].Value = UtilXML.ValorAtributo<string>(item.Attribute("NB_DEPARTAMENTO"));

                            vCol = 1;
                            vRow++;
                        }

                        ws.Column(1).BestFit = true;
                        ws.Column(1).AutoFit();
                        ws.Column(2).BestFit = true;
                        ws.Column(2).AutoFit();
                        ws.Column(3).BestFit = true;
                        ws.Column(3).AutoFit();
                        ws.Column(4).BestFit = true;
                        ws.Column(4).AutoFit();
                        ws.Column(5).BestFit = true;

                        XElement xmlCalendario = null;
                        //Agregamos los datos del calendario del evento
                        if (oDatos.XML_EVENTO_CALENDARIO != null)
                        {
                            xmlCalendario = XElement.Parse(oDatos.XML_EVENTO_CALENDARIO);
                        }

                        vRow = 11;
                        vCol = 4;

                        //OfficeOpenXml.Style.ExcelStyle oEstilo = new OfficeOpenXml.Style.ExcelStyle();
                        if (xmlCalendario != null)
                        {
                            foreach (XElement item in xmlCalendario.Elements("FECHA"))
                            {
                                DateTime vFeInicial, vFeFinal;

                                vFeInicial = UtilXML.ValorAtributo <DateTime>(item.Attribute("FE_INICIAL"));
                                vFeFinal   = UtilXML.ValorAtributo <DateTime>(item.Attribute("FE_FINAL"));

                                ws.Cells[vRow, vCol].Value = vFeInicial.ToString("dd/MM/yyyy");
                                asignarEstiloCelda(ws.Cells[vRow, vCol]);
                                vRow++;
                                ws.Cells[vRow, vCol].Value = "De " + vFeInicial.ToString("hh:mm") + " a " + vFeFinal.ToString("hh:mm");
                                asignarEstiloCelda(ws.Cells[vRow, vCol]);


                                ws.Column(vCol).BestFit = true;
                                ws.Column(vCol).AutoFit();

                                vRow = 11;
                                vCol++;
                            }
                        }

                        //Agregamos los encabezados de la tabla
                        asignarEstiloCelda(ws.Cells["A11:A12"]);
                        ws.Cells["A11:A12"].Merge = true;
                        ws.Cells["A11"].Value     = "Clave Empleado";

                        asignarEstiloCelda(ws.Cells["B11:B12"]);
                        ws.Cells["B11:B12"].Merge = true;
                        ws.Cells["B11"].Value     = "Nombre de participante";

                        asignarEstiloCelda(ws.Cells["C11:C12"]);
                        ws.Cells["C11:C12"].Merge = true;
                        ws.Cells["C11"].Value     = "Puesto";

                        //asignarEstiloCelda(ws.Cells["D11:D12"]);
                        //ws.Cells["D11:D12"].Merge = true;
                        //ws.Cells["D11"].Value = "Departamento";

                        vCol--;
                        if (xmlCalendario != null)
                        {
                            asignarEstiloCelda(ws.Cells[10, 4, 10, vCol]);
                            ws.Cells[10, 4, 10, vCol].Merge = true;
                            ws.Cells[10, 4].Value           = "Fechas/Firmas";

                            vRow = 13;
                            vCol = 4;

                            int noTotalFechas        = xmlCalendario.Elements("FECHA").Count() - 1;
                            int noTotalParticipantes = xmlParticipantes.Elements("PARTICIPANTE").Count() - 1;
                            noTotalParticipantes = vRow + noTotalParticipantes;

                            for (vRow = 13; vRow <= noTotalParticipantes; vRow++)
                            {
                                ws.Cells[vRow, vCol, vRow, (vCol + noTotalFechas)].Style.Border.Bottom.Style = OfficeOpenXml.Style.ExcelBorderStyle.Thin;
                                ws.Cells[vRow, vCol, vRow, (vCol + noTotalFechas)].Style.Border.Bottom.Color.SetColor(System.Drawing.Color.Black);

                                ws.Cells[vRow, vCol, vRow, (vCol + noTotalFechas)].Style.Border.Left.Style = OfficeOpenXml.Style.ExcelBorderStyle.Thin;
                                ws.Cells[vRow, vCol, vRow, (vCol + noTotalFechas)].Style.Border.Left.Color.SetColor(System.Drawing.Color.Black);

                                ws.Cells[vRow, vCol, vRow, (vCol + noTotalFechas)].Style.Border.Right.Style = OfficeOpenXml.Style.ExcelBorderStyle.Thin;
                                ws.Cells[vRow, vCol, vRow, (vCol + noTotalFechas)].Style.Border.Right.Color.SetColor(System.Drawing.Color.Black);
                            }
                        }


                        pck.Save();
                        newStream = pck.Stream;
                    }
                }
            }
            excelListaAsistencia.NB_ARCHIVO = "ListaAsistencia.xlsx";
            excelListaAsistencia.FI_ARCHIVO = ((MemoryStream)newStream).ToArray();

            return(excelListaAsistencia);
        }