public EDPerfilSocioDemografico GuardarerfilSocioDemografico(EDPerfilSocioDemografico perfilsoc)
        {
            EDPerfilSocioDemografico mp = em.GuardarPerfilSociodemografico(perfilsoc);


            return(mp);
        }
Exemple #2
0
        public HttpResponseMessage EditarPerfilSocioDemografico(EDPerfilSocioDemografico EDPerfil)
        {
            try
            {
                LNPerfilSocioDemografico logicas = new LNPerfilSocioDemografico();
                var resultado = logicas.EditarPerfilSocioDemografico(EDPerfil);

                if (resultado != null)
                {
                    var response = Request.CreateResponse <EDPerfilSocioDemografico>(HttpStatusCode.Created, resultado);

                    return(response);
                }
                else
                {
                    var response = Request.CreateResponse(HttpStatusCode.ExpectationFailed);
                    return(response);
                }
            }
            catch (Exception ex)
            {
                var response = Request.CreateResponse(HttpStatusCode.InternalServerError);
                return(response);
            }
        }
        public EDPerfilSocioDemografico obtenerPerfilesPorID(int id)
        {
            EDPerfilSocioDemografico per = new EDPerfilSocioDemografico();

            using (SG_SSTContext contex = new SG_SSTContext())
            {
                per = (from perfil in contex.Tbl_PerfilSocioDemograficoPlanificacion
                       where perfil.IDEmpleado_PerfilSocioDemoGrafico == id
                       select new EDPerfilSocioDemografico
                {
                    IDEmpleado_PerfilSocioDemoGrafico = perfil.IDEmpleado_PerfilSocioDemoGrafico,
                    PK_Numero_Documento_Empl = perfil.PK_Numero_Documento_Empl,
                    GradoEscolaridad = perfil.GradoEscolaridad,
                    Ingresos = perfil.Ingresos,
                    Conyuge = perfil.Conyuge,
                    Hijos = perfil.Hijos,
                    estrato = perfil.Tbl_Estrato.Descripcion_Estrato,
                    estadoCivil = perfil.Tbl_Estado_Civil.Descripcion_EstadoCivil,
                    Sexo = perfil.Sexo,
                    vinculacionLabotal = perfil.Tbl_VinculacionLaboral.Descripcion_VinculacionLaboral,
                    TurnoTrabajo = perfil.TurnoTrabajo,
                    FechaIngresoUltimoCargo = perfil.FechaIngresoUltimoCargo,
                    municipio = perfil.municipios.Nombre_Municipio,
                    ZonaLugar = perfil.ZonaLugar,
                    nombreSede = perfil.Sede.Nombre_Sede,
                    etnia = perfil.Tbl_Etnia.Descripcion_Etnia,
                    caracteristicasFisicas = perfil.caracteristicasFisicas,
                    caracteristicasPsicologicas = perfil.caracteristicasPsicologicas,
                    evaluacionesMedicasRequeridas = perfil.evaluacionesMedicasRequeridas,
                    nombreProceso = perfil.Procesos.Descripcion_Proceso,
                    nitEmpresa = perfil.nitEmpresa,
                    Pk_Id_Sede = perfil.Fk_Sede,
                    FK_Estado_Civil = perfil.FK_Estado_Civil,
                    FK_Estrato = perfil.FK_Estrato,
                    Fk_Id_Municipio = perfil.FK_Ciudad,
                    FK_VinculacionLaboral = perfil.FK_VinculacionLaboral,
                    FK_Etnia = perfil.FK_Etnia,
                    Procesos = perfil.FK_Proceso,
                    Fk_Id_Departamento = perfil.municipios.Departamento.Pk_Id_Departamento,
                    departamento = perfil.municipios.Departamento.Nombre_Departamento,
                }).FirstOrDefault();

                return(per);
            }
        }
        public void InsertarCargoMasivo_GuardarRegistros_bool()
        {
            PerfilSocioDemograficoManager perfilManager = new PerfilSocioDemograficoManager();

            List <EDPerfilSocioDemografico> perfiles = new List <EDPerfilSocioDemografico>();
            EDPerfilSocioDemografico        perfil   = new EDPerfilSocioDemografico();
            bool validarPerfil;



            perfil.PK_Numero_Documento_Empl = "1004688509";

            //perfil.Pk_Id_Sede = 1062;
            //perfil.FK_Clasificacion_De_Peligro = 1;
            perfil.GradoEscolaridad = "Profesional Universitario";
            perfil.Ingresos         = "Entre 5 y 10 SMLV";

            perfil.Conyuge         = true;
            perfil.Hijos           = false;
            perfil.FK_Estrato      = 3;
            perfil.FK_Estado_Civil = 1008;
            //perfil.FK_Raza = 2;

            perfil.Sexo                    = "M";
            perfil.GrupoEtarios            = "18 a 35 años";
            perfil.FK_VinculacionLaboral   = 3;
            perfil.FK_VinculacionLaboral   = 3;
            perfil.TurnoTrabajo            = "8 am a 2pm";
            perfil.Cargo                   = "Desarrollador";
            perfil.fechaIngresoEmpresa     = Convert.ToDateTime("13/06/2017");
            perfil.FechaIngresoUltimoCargo = Convert.ToDateTime("10/05/2017");
            //perfil.AntecedentesExpLaboral = "No tiene antencedentes";
            //perfil.FactorRiesgoPeligro = "Factor de peligro";
            //perfil.EvaluacionMedica = "Evaluación medica";
            //perfil.ZonaLugar = "rionegro";
            perfil.Fk_Id_Municipio = 2;
            perfiles.Add(perfil);
            validarPerfil = perfilManager.InsertarCargueMasivoPerfil(perfiles);
            Assert.IsNotNull(validarPerfil, "Los perfiles fueron cargados correctamente");
        }
        public void GuardarPerfilSociodemografico_EditarPerfilSocioDemografico_EDPerfilSocioDemograficoEditado()
        {
            PerfilSocioDemograficoManager perfilManager = new PerfilSocioDemograficoManager();
            EDPerfilSocioDemografico      edPerfil      = new EDPerfilSocioDemografico();

            edPerfil.IDEmpleado_PerfilSocioDemoGrafico = 6737;
            edPerfil.idtipodoc = "CC";
            edPerfil.PK_Numero_Documento_Empl = "1004688509";
            edPerfil.Nombre1   = "Jorge";
            edPerfil.Nombre2   = "Humberto";
            edPerfil.Apellido1 = "Echeverri";
            edPerfil.Apellido2 = "Escobar";
            //edPerfil.Pk_Id_Sede = 1062;
            //edPerfil.FK_Clasificacion_De_Peligro = 1;
            edPerfil.GradoEscolaridad = "Profesional Universitario";
            edPerfil.Ingresos         = "Entre 5 y 10 SMLV";
            edPerfil.Direccion        = "Calle 46 # 52-49";
            edPerfil.Conyuge          = true;
            edPerfil.Hijos            = false;
            edPerfil.FK_Estrato       = 3;
            edPerfil.FK_Estado_Civil  = 1008;
            //edPerfil.FK_Raza = 2;
            edPerfil.Sexo                    = "M";
            edPerfil.GrupoEtarios            = "18 a 35 años";
            edPerfil.FK_VinculacionLaboral   = 3;
            edPerfil.TurnoTrabajo            = "8 am a 2pm";
            edPerfil.Cargo                   = "Desarrollador";
            edPerfil.fechaIngresoEmpresa     = Convert.ToDateTime("13/06/2017");
            edPerfil.FechaIngresoUltimoCargo = Convert.ToDateTime("10/05/2017");
            //edPerfil.AntecedentesExpLaboral = "No tiene antencedentes";
            //edPerfil.FactorRiesgoPeligro = "Factor de peligro";
            //edPerfil.EvaluacionMedica = "Evaluación medica";
            //edPerfil.ZonaLugar = "rionegro";
            edPerfil.Fk_Id_Municipio = 2;

            edPerfil = perfilManager.GuardarPerfilSociodemografico(edPerfil);
            Assert.IsNotNull(edPerfil, "EL perfil sociodemográfico no se editó correctamente");
        }
        private EDCarguePerfil ProcesarCargue(ExcelWorksheet sheet, EDCarguePerfil cargue)
        {
            EDCarguePerfil edCargue = new EDCarguePerfil();
            List <EDPerfilSocioDemografico> perfiles = new List <EDPerfilSocioDemografico>();

            string mensaje                   = "";
            string nFilaD                    = "";
            string nFilaS                    = "";
            string nFilaBla                  = "";
            string nfilaRep                  = "";
            string nfilaP                    = "";
            string nfilaRPel                 = "";
            string mensajeEspBlancos         = "Existen campos en blanco, es obligatorio diligenciar todas las columnas hasta la columna W, la columna R(Cod Proceso) no es obligatoria , revisar la(s) fila(s).";
            string mensajeDocumento          = "Revisar la columna A(Número Identificación) ya que el documento no pertenece a la empresa,revisar la(s) fila(s)";
            string mensajeSede               = "Revisar la  Columna  s(CodSede) ya que la sede no pertenece a la empresa, revisar la(s) fila(s)";
            string mensajeRepetidos          = "No se pudo realizar el cargue, debido a que algunos perfiles a cargar ya existen, revisar la(s) fila(s)";
            string mensajeProceso            = "Revisar la  Columna  R(Cod Proceso) ya que el proceso no pertenece a la empresa, revisar la(s) fila(s)";
            string mensajeRepetidosPlantilla = "";
            string mensajeDescPeligros       = "Revisar las descripciones de peligro, ya que se ha  ingresado una descripción no valida, revisar la(s) fila(s)";
            bool   esValidoDescripcionPel    = true;

            try
            {
                var dt     = new DataTable();
                var rowCnt = 0;

                rowCnt = sheet.Dimension.End.Row;


                bool noBlancos      = true;
                bool esValidoPerfil = true;

                bool resu            = false;
                bool documentoValido = false;
                //Verificamos los nombres de las columnas
                // Loop through Columns
                List <EDProceso> procesos = per.ObtenerProcesoEmpresa(cargue.NitEmpresa);
                List <EDSede>    sedes    = em.ObtenernerSedesPorEmpresa(cargue.NitEmpresa);
                for (var fila = 2; fila <= rowCnt; fila++)
                {
                    esValidoDescripcionPel = true;
                    string numeroIdentificacion;
                    List <EDCondicionesRiesgoPerfil> condincionesRiesgo = new List <EDCondicionesRiesgoPerfil>();
                    EDCondicionesRiesgoPerfil        condicionRiesgo    = new EDCondicionesRiesgoPerfil();
                    EDPerfilSocioDemografico         perfil             = new EDPerfilSocioDemografico();
                    bool companeroPer = false;
                    bool tieneHijos   = false;
                    if (sheet.Cells[fila, 1].Value != null)
                    {
                        if (sheet.Cells[fila, 1].Value == null || sheet.Cells[fila, 2].Value == null || sheet.Cells[fila, 3].Value == null ||
                            sheet.Cells[fila, 4].Value == null || sheet.Cells[fila, 5].Value == null || sheet.Cells[fila, 6].Value == null ||
                            sheet.Cells[fila, 7].Value == null || sheet.Cells[fila, 8].Value == null || sheet.Cells[fila, 9].Value == null ||
                            sheet.Cells[fila, 10].Value == null || sheet.Cells[fila, 11].Value == null || sheet.Cells[fila, 12].Value == null ||
                            sheet.Cells[fila, 13].Value == null || sheet.Cells[fila, 14].Value == null || sheet.Cells[fila, 15].Value == null ||
                            sheet.Cells[fila, 16].Value == null || sheet.Cells[fila, 17].Value == null || sheet.Cells[fila, 19].Value == null ||
                            sheet.Cells[fila, 20].Value == null || sheet.Cells[fila, 21].Value == null || sheet.Cells[fila, 22].Value == null ||
                            sheet.Cells[fila, 23].Value == null)
                        {
                            nFilaBla      += " " + fila;
                            esValidoPerfil = false;
                            noBlancos      = false;
                        }

                        if (noBlancos)
                        {
                            int?codProceso = null;
                            numeroIdentificacion = sheet.Cells[fila, 1].Value.ToString();
                            string gradoEscolaridad    = sheet.Cells[fila, 2].Value.ToString();
                            string ingresos            = sheet.Cells[fila, 3].Value.ToString();
                            int    municipioResidencia = int.Parse(sheet.Cells[fila, 44].Value.ToString());
                            string companeroPermanente = sheet.Cells[fila, 6].Value.ToString();
                            if (companeroPermanente.Equals("SI"))
                            {
                                companeroPer = true;
                            }
                            else
                            {
                                companeroPer = false;
                            }

                            string hijos = sheet.Cells[fila, 7].Value.ToString();

                            if (hijos.Equals("SI"))
                            {
                                tieneHijos = true;
                            }
                            else
                            {
                                tieneHijos = false;
                            }
                            int    estratoSocioEconomico = int.Parse(sheet.Cells[fila, 8].Value.ToString());
                            int    estadoCivil           = int.Parse(sheet.Cells[fila, 45].Value.ToString());
                            int    etnia = int.Parse(sheet.Cells[fila, 46].Value.ToString());
                            string sexo  = sheet.Cells[fila, 11].Value.ToString();
                            int    vinculacionLaboral = int.Parse(sheet.Cells[fila, 47].Value.ToString());
                            string turnoTrabajo       = sheet.Cells[fila, 13].Value.ToString();
                            //  DateTime fechaUltimoCargo = Convert.ToDateTime(sheet.Cells[fila, 14].Value.ToString());
                            DateTime fechaUltimoCargo            = DateTime.FromOADate(double.Parse(sheet.Cells[fila, 43].Value.ToString()));
                            string   caracteristicasFisicas      = sheet.Cells[fila, 15].Value.ToString();
                            string   caracteristicasPsicologicas = sheet.Cells[fila, 16].Value.ToString();
                            string   evaluacionMedicaRequerida   = sheet.Cells[fila, 17].Value.ToString();


                            if (sheet.Cells[fila, 18].Value != null)
                            {
                                codProceso = int.Parse(sheet.Cells[fila, 18].Value.ToString());
                            }


                            var    Otro = "Otro";
                            int    clasificacionPeligroA = 0;
                            int    sede = int.Parse(sheet.Cells[fila, 19].Value.ToString());
                            string zona = sheet.Cells[fila, 20].Value.ToString();
                            if (sheet.Cells[fila, 49].Value != "")
                            {
                                clasificacionPeligroA = int.Parse(sheet.Cells[fila, 49].Value.ToString());
                            }
                            else
                            {
                                //  nfilaRPel += " " + fila;
                                esValidoDescripcionPel = false;
                                esValidoPerfil         = false;
                            }

                            string tiempoExposicionA = sheet.Cells[fila, 23].Value.ToString();
                            if (clasificacionPeligroA == 46)
                            {
                                condicionRiesgo.Otro = Otro;
                            }



                            condicionRiesgo.FK_Clasificacion_De_Peligro = clasificacionPeligroA;
                            condicionRiesgo.tiempoExpos = tiempoExposicionA;
                            condincionesRiesgo.Add(condicionRiesgo);

                            EDCondicionesRiesgoPerfil condicionRiesgo2 = new EDCondicionesRiesgoPerfil();

                            if (sheet.Cells[fila, 25].Value != null && sheet.Cells[fila, 26].Value != null)
                            {
                                int clasificacionPeligroB = 0;
                                if (sheet.Cells[fila, 50].Value != "")
                                {
                                    clasificacionPeligroB = int.Parse(sheet.Cells[fila, 50].Value.ToString());
                                }
                                else
                                {
                                    // nfilaRPel += " " + fila;
                                    esValidoDescripcionPel = false;
                                    esValidoPerfil         = false;
                                }


                                if (clasificacionPeligroB == 46)
                                {
                                    condicionRiesgo2.Otro = Otro;
                                }
                                string tiempoExposicionB = sheet.Cells[fila, 26].Value.ToString();
                                condicionRiesgo2.FK_Clasificacion_De_Peligro = clasificacionPeligroB;
                                condicionRiesgo2.tiempoExpos = tiempoExposicionB;
                                condincionesRiesgo.Add(condicionRiesgo2);
                            }
                            EDCondicionesRiesgoPerfil condicionRiesgo3 = new EDCondicionesRiesgoPerfil();

                            if (sheet.Cells[fila, 28].Value != null && sheet.Cells[fila, 29].Value != null)
                            {
                                int clasificacionPeligroC = 0;
                                if (sheet.Cells[fila, 51].Value != "")
                                {
                                    clasificacionPeligroC = int.Parse(sheet.Cells[fila, 51].Value.ToString());
                                }
                                else
                                {
                                    //   nfilaRPel += " " + fila;
                                    esValidoDescripcionPel = false;
                                    esValidoPerfil         = false;
                                }

                                if (clasificacionPeligroC == 46)
                                {
                                    condicionRiesgo3.Otro = Otro;
                                }
                                string tiempoExposicionC = sheet.Cells[fila, 29].Value.ToString();
                                condicionRiesgo3.FK_Clasificacion_De_Peligro = clasificacionPeligroC;
                                condicionRiesgo3.tiempoExpos = tiempoExposicionC;
                                condincionesRiesgo.Add(condicionRiesgo3);
                            }



                            documentoValido = ValidarDocumento(numeroIdentificacion, cargue);

                            if (documentoValido == false)
                            {
                                nFilaD += " " + fila;

                                esValidoPerfil = false;
                            }


                            //registros repetidos
                            var perfilesdb = db.Tbl_PerfilSocioDemograficoPlanificacion.Where(e => e.PK_Numero_Documento_Empl.Equals(numeroIdentificacion)).FirstOrDefault();


                            if (perfilesdb != null)
                            {
                                nfilaRep      += " " + fila;
                                esValidoPerfil = false;
                            }


                            if (!sedes.Exists(s => s.IdSede == sede))
                            {
                                nFilaS += " " + fila;

                                esValidoPerfil = false;
                            }

                            if (codProceso > 0)
                            {
                                if (!procesos.Exists(p => p.Id_Proceso == codProceso))
                                {
                                    nfilaP += " " + fila;

                                    esValidoPerfil = false;
                                }
                            }

                            if (esValidoDescripcionPel == false)
                            {
                                nfilaRPel += " " + fila;
                            }

                            if (esValidoPerfil)
                            {
                                perfil.condicionesRiesgo        = condincionesRiesgo;
                                perfil.PK_Numero_Documento_Empl = numeroIdentificacion;
                                perfil.GradoEscolaridad         = gradoEscolaridad;

                                perfil.Ingresos                      = ingresos;
                                perfil.Fk_Id_Municipio               = municipioResidencia;
                                perfil.Conyuge                       = companeroPer;
                                perfil.Hijos                         = tieneHijos;
                                perfil.FK_Estrato                    = estratoSocioEconomico;
                                perfil.FK_Estado_Civil               = estadoCivil;
                                perfil.FK_Etnia                      = etnia;
                                perfil.Sexo                          = sexo;
                                perfil.FK_VinculacionLaboral         = vinculacionLaboral;
                                perfil.TurnoTrabajo                  = turnoTrabajo;
                                perfil.FechaIngresoUltimoCargo       = fechaUltimoCargo;
                                perfil.caracteristicasFisicas        = caracteristicasFisicas;
                                perfil.caracteristicasPsicologicas   = caracteristicasPsicologicas;
                                perfil.evaluacionesMedicasRequeridas = evaluacionMedicaRequerida;
                                perfil.Pk_Id_Sede                    = sede;
                                perfil.Procesos                      = codProceso;
                                perfil.ZonaLugar                     = zona;
                                perfil.nitEmpresa                    = cargue.NitEmpresa;
                                perfil.EDInfoAuditoria               = cargue.EDInfoAuditoria;
                                perfiles.Add(perfil);
                            }
                        }
                    }
                    else
                    {
                        break;
                    }
                }


                //Listo aca va mensajes y resto


                string[] documento = new string[perfiles.Count()];

                for (int i = 0; i < perfiles.Count(); i++)
                {
                    documento[i] = Convert.ToString(perfiles[i].PK_Numero_Documento_Empl);
                }

                bool resultado = documento.Distinct().Count() == documento.Length;

                if (resultado == false)
                {
                    mensajeRepetidosPlantilla = "Revisar la Columna A(Número Identificación) ya que existen registros repetidos" + "\n";
                    esValidoPerfil            = false;
                }
                if (nfilaRep.Equals(""))
                {
                    mensajeRepetidos = "";
                }
                else
                {
                    mensajeRepetidos += nfilaRep + "\n";
                }

                if (nfilaRPel.Equals(""))
                {
                    mensajeDescPeligros = "";
                }
                else
                {
                    mensajeDescPeligros += nfilaRPel + "\n";
                }



                if (nFilaBla.Equals(""))
                {
                    mensajeEspBlancos = "";
                }
                else
                {
                    mensajeEspBlancos += nFilaBla + "\n";
                }


                if (nFilaD.Equals(""))
                {
                    mensajeDocumento = "";
                }
                else
                {
                    mensajeDocumento += nFilaD + "\n";
                }


                if (nFilaS.Equals(""))
                {
                    mensajeSede = "";
                }
                else
                {
                    mensajeSede += nFilaS + "\n";
                }

                if (nfilaP.Equals(""))
                {
                    mensajeProceso = "";
                }
                else
                {
                    mensajeProceso += nfilaP + "\n";
                }

                mensaje = mensajeRepetidosPlantilla + " " + mensajeRepetidos + " " + mensajeEspBlancos + " " + mensajeDocumento + " " + mensajeSede + mensajeProceso + " " + mensajeDescPeligros + " ";


                if (esValidoPerfil == false)
                {
                    edCargue.Message = mensaje;
                    return(edCargue);
                }


                if (esValidoPerfil == true)
                {
                    resu = per.InsertarCargueMasivoPerfil(perfiles);
                }
                else
                {
                    edCargue.Message = "No se puede realizar la carga,revise e intente de nuevo";
                    return(edCargue);
                }

                if (resu)
                {
                    if (esValidoPerfil)
                    {
                        edCargue.Message = "OK";
                    }
                    else
                    {
                        edCargue.Message = mensaje;
                    }
                }
                else
                {
                    edCargue.Message = "El proceso de cargue falló";
                }
            }

            catch (Exception ex)
            {
                RegistraLog registraLog = new RegistraLog();
                registraLog.RegistrarError(typeof(LNCarguePerfilSocioDemografico), string.Format("Error en el método WorksheetToDataTable {0}: {1}", DateTime.Now, ex.StackTrace), ex);
                edCargue.Message = "El proceso falló: revise la información y por favor intentelo de nuevo.";
                return(edCargue);
            }

            return(edCargue);
        }
        public EDPerfilSocioDemografico GuardarPerfilSociodemografico(EDPerfilSocioDemografico perfilsoc)
        {
            using (SG_SSTContext context = new SG_SSTContext())
            {
                using (var Transaction = context.Database.BeginTransaction())
                {
                    RegistraLog registraLog = new RegistraLog();
                    try
                    {
                        PerfilSocioDemograficoPlanificacion perfilSocioDemografico = new PerfilSocioDemograficoPlanificacion()
                        {
                            IDEmpleado_PerfilSocioDemoGrafico = perfilsoc.IDEmpleado_PerfilSocioDemoGrafico,
                            PK_Numero_Documento_Empl          = perfilsoc.PK_Numero_Documento_Empl,
                            GradoEscolaridad              = perfilsoc.GradoEscolaridad,
                            Ingresos                      = perfilsoc.Ingresos,
                            FK_Ciudad                     = perfilsoc.Fk_Id_Municipio,
                            Conyuge                       = perfilsoc.Conyuge,
                            Hijos                         = perfilsoc.Hijos,
                            FK_Estrato                    = perfilsoc.FK_Estrato,
                            FK_Estado_Civil               = perfilsoc.FK_Estado_Civil,
                            Sexo                          = perfilsoc.Sexo,
                            FK_VinculacionLaboral         = perfilsoc.FK_VinculacionLaboral,
                            TurnoTrabajo                  = perfilsoc.TurnoTrabajo,
                            FechaIngresoUltimoCargo       = perfilsoc.FechaIngresoUltimoCargo,
                            evaluacionesMedicasRequeridas = perfilsoc.evaluacionesMedicasRequeridas,
                            caracteristicasPsicologicas   = perfilsoc.caracteristicasPsicologicas,
                            caracteristicasFisicas        = perfilsoc.caracteristicasFisicas,
                            FK_Etnia                      = perfilsoc.FK_Etnia,
                            nitEmpresa                    = perfilsoc.nitEmpresa,
                            FK_Proceso                    = perfilsoc.Procesos,
                            Fk_Sede                       = perfilsoc.Pk_Id_Sede,
                            ZonaLugar                     = perfilsoc.ZonaLugar,
                        };


                        context.Tbl_PerfilSocioDemograficoPlanificacion.Add(perfilSocioDemografico);
                        /*inicio auditoria*/
                        if (context.Tbl_ActivaAuditoriaSistema.ToList().FirstOrDefault().EsActivaPlanificacion)
                        {
                            context.Tbl_AuditoriaPlanificacionSistema.Add(auditoriaSistema.ObtenerAuditoriaPlanificacion(perfilsoc.EDInfoAuditoria,
                                                                                                                         Enumeraciones.EnumAuditoriaSistema.Acciones.CREACION,
                                                                                                                         Enumeraciones.EnumAuditoriaSistema.Modulos.Planificacion,
                                                                                                                         Enumeraciones.EnumAuditoriaSistema.SubModulos.Perfil_sociodemográfico,
                                                                                                                         Enumeraciones.EnumAuditoriaSistema.Opciones.Crear_Perfil_Sociodemográfico,
                                                                                                                         perfilSocioDemografico.ToString()));
                        }
                        /*Fin auditoria*/
                        context.SaveChanges();
                        List <Condiciones_Riesgo_Perfil> condiciones = new List <Condiciones_Riesgo_Perfil>();
                        foreach (var per in perfilsoc.condicionesRiesgo)
                        {
                            Condiciones_Riesgo_Perfil condicion = new Condiciones_Riesgo_Perfil();
                            condicion.OtroPeligro = per.Otro;
                            condicion.FK_Clasificacion_De_Peligro = per.FK_Clasificacion_De_Peligro;
                            condicion.tiempoExposicion            = per.tiempoExpos;
                            condicion.FK_PerfilSocioDemografico   = perfilSocioDemografico.IDEmpleado_PerfilSocioDemoGrafico;
                            /*inicio auditoria*/
                            if (context.Tbl_ActivaAuditoriaSistema.ToList().FirstOrDefault().EsActivaPlanificacion)
                            {
                                context.Tbl_AuditoriaPlanificacionSistema.Add(auditoriaSistema.ObtenerAuditoriaPlanificacion(perfilsoc.EDInfoAuditoria,
                                                                                                                             Enumeraciones.EnumAuditoriaSistema.Acciones.CREACION,
                                                                                                                             Enumeraciones.EnumAuditoriaSistema.Modulos.Planificacion,
                                                                                                                             Enumeraciones.EnumAuditoriaSistema.SubModulos.Perfil_sociodemográfico,
                                                                                                                             Enumeraciones.EnumAuditoriaSistema.Opciones.Condiciones_Riesgo_Perfil,
                                                                                                                             condicion.ToString()));
                            }
                            /*Fin auditoria*/
                            condiciones.Add(condicion);
                        }

                        context.Tbl_Condiciones_Riesgo_Perfil.AddRange(condiciones);
                        context.SaveChanges();
                        Transaction.Commit();

                        return(perfilsoc);
                    }
                    catch (Exception ex)
                    {
                        registraLog.RegistrarError(typeof(PerfilSocioDemograficoManager), string.Format("Error al guardar el perfil SocioDemocratio en la  base de datos  {0}: {1}", DateTime.Now, ex.StackTrace), ex);
                        Transaction.Rollback();
                        return(null);
                    }
                }
            }
        }
 public EDPerfilSocioDemografico EditarPerfilSocioDemografico(EDPerfilSocioDemografico perfilsoc)
 {
     return(em.EditarPerfilSociodemografico(perfilsoc));
 }
        public byte[] ObtenerRepExcelPorPerfil(EDPerfilSocioDemografico perfil)
        {
            ExcelPackage excel = new ExcelPackage();

            excel.Workbook.Worksheets.Add("PerfilSociodemografico");
            ExcelWorksheet hoja1 = excel.Workbook.Worksheets[1];

            hoja1.Cells["A1"].Value  = "Nit empresa";
            hoja1.Cells["B1"].Value  = "Razón social de la empresa";
            hoja1.Cells["C1"].Value  = "Documento del empleado";
            hoja1.Cells["D1"].Value  = "Nombres";
            hoja1.Cells["E1"].Value  = "Apellidos";
            hoja1.Cells["F1"].Value  = "E.P.S";
            hoja1.Cells["G1"].Value  = "A.F.P";
            hoja1.Cells["H1"].Value  = "Sede";
            hoja1.Cells["I1"].Value  = "Municipio de Sede";
            hoja1.Cells["J1"].Value  = "Departamento de Sede";
            hoja1.Cells["K1"].Value  = "Zona/lugar";
            hoja1.Cells["L1"].Value  = "Proceso";
            hoja1.Cells["M1"].Value  = "Grado de escolaridad";
            hoja1.Cells["N1"].Value  = "Ingresos";
            hoja1.Cells["O1"].Value  = "Departamento de residencia";
            hoja1.Cells["P1"].Value  = "Municipio de residencia";
            hoja1.Cells["Q1"].Value  = "Dirección";
            hoja1.Cells["R1"].Value  = "Conyuge";
            hoja1.Cells["S1"].Value  = "Hijos";
            hoja1.Cells["T1"].Value  = "Estrato Socioeconómico";
            hoja1.Cells["U1"].Value  = "Estado civil";
            hoja1.Cells["V1"].Value  = "Etnia";
            hoja1.Cells["W1"].Value  = "Ocupación CIUO";
            hoja1.Cells["X1"].Value  = "Edad";
            hoja1.Cells["Y1"].Value  = "Grupo Étareo";
            hoja1.Cells["Z1"].Value  = "Sexo";
            hoja1.Cells["AA1"].Value = "Vinculación laboral";
            hoja1.Cells["AB1"].Value = "Turno de trabajo";
            hoja1.Cells["AC1"].Value = "Cargo";
            hoja1.Cells["AD1"].Value = "Fecha de ingreso a la empresa";
            hoja1.Cells["AE1"].Value = "Fecha de ingreso a último cargo";
            hoja1.Cells["AF1"].Value = "Años en el último cargo";
            hoja1.Cells["AG1"].Value = "Meses en el último cargo";
            hoja1.Cells["AH1"].Value = "Días en el último cargo";
            hoja1.Cells["AI1"].Value = "Características Físicas para el desempeño del cargo";
            hoja1.Cells["AJ1"].Value = "Características Psicológicas para el desempeño del cargo";
            hoja1.Cells["AK1"].Value = "Evaluación médica requerida para el desempeño del cargo";

            var conyuge = "";
            var sexo    = "";

            if (perfil.Conyuge)
            {
                conyuge = "SI";
            }
            else
            {
                conyuge = "NO";
            }


            var hijos = "";

            if (perfil.Hijos)
            {
                hijos = "SI";
            }
            else
            {
                hijos = "NO";
            }
            if (perfil.Sexo == "M" || perfil.Sexo == "m")
            {
                sexo = "Masculino";
            }
            else
            {
                sexo = "Femenino";
            }
            string nombres = perfil.Nombre1 + " " + perfil.Nombre2;

            string apellidos = perfil.Apellido1 + "  " + perfil.Apellido2;

            var grupoEtareo = calcularGrupoEtareo(perfil.EdadPersona);


            int col = 1;

            foreach (var cel in hoja1.Cells["A1:AK1"])
            {
                cel.Style.Border.BorderAround(OfficeOpenXml.Style.ExcelBorderStyle.Thin);
                cel.Style.Border.BorderAround(OfficeOpenXml.Style.ExcelBorderStyle.Thin);
                cel.Style.VerticalAlignment   = OfficeOpenXml.Style.ExcelVerticalAlignment.Center;
                cel.Style.HorizontalAlignment = OfficeOpenXml.Style.ExcelHorizontalAlignment.Center;
                cel.Style.Font.Bold           = true;
                cel.Style.WrapText            = true;
                hoja1.Column(col).Width       = 25;
                col++;
            }
            int nunInicial = 2;
            var proceso    = "";

            if (perfil.nombreProceso != null)
            {
                proceso = perfil.nombreProceso;
            }
            else
            {
                proceso = "NA";
            }
            hoja1.Cells[string.Format("A{0}", nunInicial)].Value = perfil.nitEmpresa;
            hoja1.Cells[string.Format("B{0}", nunInicial)].Value = perfil.razonSocialEmpresa;
            hoja1.Cells[string.Format("C{0}", nunInicial)].Value = perfil.PK_Numero_Documento_Empl;
            if (nombres == " ")
            {
                hoja1.Cells[string.Format("D{0}", nunInicial)].Value = "La Persona no tiene relación activa con la empresa";
                hoja1.Cells[string.Format("E{0}", nunInicial)].Value = "La Persona no tiene relación activa con la empresa";
                hoja1.Cells[string.Format("F{0}", nunInicial)].Value = "La Persona no tiene relación activa con la empresa";
                hoja1.Cells[string.Format("G{0}", nunInicial)].Value = "La Persona no tiene relación activa con la empresa";
                hoja1.Cells[string.Format("H{0}", nunInicial)].Value = perfil.nombreSede;
                hoja1.Cells[string.Format("I{0}", nunInicial)].Value = perfil.ciudadSede;
                hoja1.Cells[string.Format("J{0}", nunInicial)].Value = perfil.departamentoSede;
                hoja1.Cells[string.Format("K{0}", nunInicial)].Value = perfil.ZonaLugar;
                hoja1.Cells[string.Format("L{0}", nunInicial)].Value = proceso;
                hoja1.Cells[string.Format("M{0}", nunInicial)].Value = perfil.GradoEscolaridad;
                hoja1.Cells[string.Format("N{0}", nunInicial)].Value = perfil.Ingresos;
                hoja1.Cells[string.Format("O{0}", nunInicial)].Value = perfil.departamento;
                hoja1.Cells[string.Format("P{0}", nunInicial)].Value = perfil.municipio;
                hoja1.Cells[string.Format("Q{0}", nunInicial)].Value = "La Persona no tiene relación activa con la empresa";


                hoja1.Cells[string.Format("R{0}", nunInicial)].Value = conyuge;
                hoja1.Cells[string.Format("S{0}", nunInicial)].Value = hijos;
                hoja1.Cells[string.Format("T{0}", nunInicial)].Value = perfil.estrato;
                hoja1.Cells[string.Format("U{0}", nunInicial)].Value = perfil.estadoCivil;
                hoja1.Cells[string.Format("V{0}", nunInicial)].Value = perfil.etnia;
                hoja1.Cells[string.Format("W{0}", nunInicial)].Value = "La Persona no tiene relación activa con la empresa";
                hoja1.Cells[string.Format("X{0}", nunInicial)].Value = "La Persona no tiene relación activa con la empresa";
                hoja1.Cells[string.Format("Y{0}", nunInicial)].Value = "La Persona no tiene relación activa con la empresa";

                hoja1.Cells[string.Format("Z{0}", nunInicial)].Value  = sexo;
                hoja1.Cells[string.Format("AA{0}", nunInicial)].Value = perfil.vinculacionLabotal;
                hoja1.Cells[string.Format("AB{0}", nunInicial)].Value = perfil.TurnoTrabajo;
                hoja1.Cells[string.Format("AC{0}", nunInicial)].Value = "La Persona no tiene relación activa con la empresa";

                hoja1.Cells[string.Format("AD{0}", nunInicial)].Value = "La Persona no tiene relación activa con la empresa";
                hoja1.Cells[string.Format("AE{0}", nunInicial)].Value = "La Persona no tiene relación activa con la empresa";
                hoja1.Cells[string.Format("AF{0}", nunInicial)].Value = "La Persona no tiene relación activa con la empresa";
                hoja1.Cells[string.Format("AG{0}", nunInicial)].Value = "La Persona no tiene relación activa con la empresa";
                hoja1.Cells[string.Format("AH{0}", nunInicial)].Value = "La Persona no tiene relación activa con la empresa";
                hoja1.Cells[string.Format("AI{0}", nunInicial)].Value = perfil.caracteristicasFisicas;
                hoja1.Cells[string.Format("AJ{0}", nunInicial)].Value = perfil.caracteristicasPsicologicas;
                hoja1.Cells[string.Format("AK{0}", nunInicial)].Value = perfil.evaluacionesMedicasRequeridas;
            }
            else
            {
                hoja1.Cells[string.Format("D{0}", nunInicial)].Value = nombres;
                hoja1.Cells[string.Format("E{0}", nunInicial)].Value = apellidos;
                hoja1.Cells[string.Format("F{0}", nunInicial)].Value = perfil.EPS;
                hoja1.Cells[string.Format("G{0}", nunInicial)].Value = perfil.AFP;
                hoja1.Cells[string.Format("H{0}", nunInicial)].Value = perfil.nombreSede;
                hoja1.Cells[string.Format("I{0}", nunInicial)].Value = perfil.ciudadSede;
                hoja1.Cells[string.Format("J{0}", nunInicial)].Value = perfil.departamentoSede;
                hoja1.Cells[string.Format("K{0}", nunInicial)].Value = perfil.ZonaLugar;
                hoja1.Cells[string.Format("L{0}", nunInicial)].Value = proceso;
                hoja1.Cells[string.Format("M{0}", nunInicial)].Value = perfil.GradoEscolaridad;
                hoja1.Cells[string.Format("N{0}", nunInicial)].Value = perfil.Ingresos;
                hoja1.Cells[string.Format("O{0}", nunInicial)].Value = perfil.departamento;
                hoja1.Cells[string.Format("P{0}", nunInicial)].Value = perfil.municipio;
                hoja1.Cells[string.Format("Q{0}", nunInicial)].Value = perfil.Direccion;


                hoja1.Cells[string.Format("R{0}", nunInicial)].Value  = conyuge;
                hoja1.Cells[string.Format("S{0}", nunInicial)].Value  = hijos;
                hoja1.Cells[string.Format("T{0}", nunInicial)].Value  = perfil.estrato;
                hoja1.Cells[string.Format("U{0}", nunInicial)].Value  = perfil.estadoCivil;
                hoja1.Cells[string.Format("V{0}", nunInicial)].Value  = perfil.etnia;
                hoja1.Cells[string.Format("W{0}", nunInicial)].Value  = perfil.OcupacionPerfil;
                hoja1.Cells[string.Format("X{0}", nunInicial)].Value  = perfil.EdadPersona;
                hoja1.Cells[string.Format("Y{0}", nunInicial)].Value  = grupoEtareo;
                hoja1.Cells[string.Format("Z{0}", nunInicial)].Value  = sexo;
                hoja1.Cells[string.Format("AA{0}", nunInicial)].Value = perfil.vinculacionLabotal;
                hoja1.Cells[string.Format("AB{0}", nunInicial)].Value = perfil.TurnoTrabajo;
                hoja1.Cells[string.Format("AC{0}", nunInicial)].Value = perfil.Cargo;
                hoja1.Cells[string.Format("AD{0}", nunInicial)].Value = perfil.fechaIngresoEmpresa.ToString("dd/MM/yyyy");
                hoja1.Cells[string.Format("AE{0}", nunInicial)].Value = perfil.FechaIngresoUltimoCargo.ToString("dd/MM/yyyy");
                hoja1.Cells[string.Format("AF{0}", nunInicial)].Value = perfil.anyos;
                hoja1.Cells[string.Format("AG{0}", nunInicial)].Value = perfil.mes;
                hoja1.Cells[string.Format("AH{0}", nunInicial)].Value = perfil.dia;
                hoja1.Cells[string.Format("AI{0}", nunInicial)].Value = perfil.caracteristicasFisicas;
                hoja1.Cells[string.Format("AJ{0}", nunInicial)].Value = perfil.caracteristicasPsicologicas;
                hoja1.Cells[string.Format("AK{0}", nunInicial)].Value = perfil.evaluacionesMedicasRequeridas;
            }
            excel.Workbook.Worksheets.Add("ExposicionPeligro");
            ExcelWorksheet hoja2 = excel.Workbook.Worksheets["ExposicionPeligro"];



            // hoja1.Cells.AutoFitColumns();

            hoja2.Cells["A1"].Value = "Tipo de péligro";
            hoja2.Cells["B1"].Value = "Descripción de péligro";
            hoja2.Cells["C1"].Value = "Tiempo de Exposición  en  Meses";



            List <EDCondicionesRiesgoPerfil> condiciones = perfil.condicionesRiesgo;


            nunInicial = 2;

            foreach (var con in condiciones)
            {
                var clasificacionPeligro = "";

                if (con.descripcionPeligro.Equals("Otro"))
                {
                    clasificacionPeligro = con.OtroPeligro;
                }
                else
                {
                    clasificacionPeligro = con.ClasificacionPeligro;
                }
                hoja2.Cells[string.Format("A{0}", nunInicial)].Value = con.descripcionPeligro;
                hoja2.Cells[string.Format("B{0}", nunInicial)].Value = clasificacionPeligro;
                hoja2.Cells[string.Format("C{0}", nunInicial)].Value = con.tiempoExpos;



                nunInicial++;
            }
            hoja2.Cells.AutoFitColumns();

            foreach (var cel in hoja2.Cells["A1:AC1"])
            {
                cel.Style.Border.BorderAround(OfficeOpenXml.Style.ExcelBorderStyle.Thin);
                cel.Style.Border.BorderAround(OfficeOpenXml.Style.ExcelBorderStyle.Thin);
                cel.Style.VerticalAlignment   = OfficeOpenXml.Style.ExcelVerticalAlignment.Center;
                cel.Style.HorizontalAlignment = OfficeOpenXml.Style.ExcelHorizontalAlignment.Center;
                cel.Style.Font.Bold           = true;
                cel.Style.WrapText            = true;
                hoja1.Column(col).Width       = 25;
                col++;
            }

            return(excel.GetAsByteArray());
        }