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 bool InsertarCargueMasivoPerfil(List <EDPerfilSocioDemografico> perfiles) { using (SG_SSTContext context = new SG_SSTContext()) { using (var Transaction = context.Database.BeginTransaction()) { try { foreach (EDPerfilSocioDemografico perfil in perfiles) { PerfilSocioDemograficoPlanificacion perfilSocioDemografico = new PerfilSocioDemograficoPlanificacion() { IDEmpleado_PerfilSocioDemoGrafico = perfil.IDEmpleado_PerfilSocioDemoGrafico, PK_Numero_Documento_Empl = perfil.PK_Numero_Documento_Empl, GradoEscolaridad = perfil.GradoEscolaridad, Ingresos = perfil.Ingresos, FK_Ciudad = perfil.Fk_Id_Municipio, Conyuge = perfil.Conyuge, Hijos = perfil.Hijos, FK_Estrato = perfil.FK_Estrato, FK_Estado_Civil = perfil.FK_Estado_Civil, Sexo = perfil.Sexo, FK_VinculacionLaboral = perfil.FK_VinculacionLaboral, TurnoTrabajo = perfil.TurnoTrabajo, FechaIngresoUltimoCargo = perfil.FechaIngresoUltimoCargo, evaluacionesMedicasRequeridas = perfil.evaluacionesMedicasRequeridas, caracteristicasPsicologicas = perfil.caracteristicasPsicologicas, caracteristicasFisicas = perfil.caracteristicasFisicas, FK_Etnia = perfil.FK_Etnia, nitEmpresa = perfil.nitEmpresa, FK_Proceso = perfil.Procesos, Fk_Sede = perfil.Pk_Id_Sede, ZonaLugar = perfil.ZonaLugar }; context.Tbl_PerfilSocioDemograficoPlanificacion.Add(perfilSocioDemografico); /*inicio auditoria*/ if (context.Tbl_ActivaAuditoriaSistema.ToList().FirstOrDefault().EsActivaPlanificacion) { context.Tbl_AuditoriaPlanificacionSistema.Add(auditoriaSistema.ObtenerAuditoriaPlanificacion(perfil.EDInfoAuditoria, Enumeraciones.EnumAuditoriaSistema.Acciones.CREACION, Enumeraciones.EnumAuditoriaSistema.Modulos.Planificacion, Enumeraciones.EnumAuditoriaSistema.SubModulos.Perfil_sociodemográfico, Enumeraciones.EnumAuditoriaSistema.Opciones.Cargar_Plantilla, perfilSocioDemografico.ToString())); } /*fin auditoria*/ context.SaveChanges(); List <Condiciones_Riesgo_Perfil> condiciones = new List <Condiciones_Riesgo_Perfil>(); foreach (var per in perfil.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; condiciones.Add(condicion); /*inicio auditoria*/ if (context.Tbl_ActivaAuditoriaSistema.ToList().FirstOrDefault().EsActivaPlanificacion) { context.Tbl_AuditoriaPlanificacionSistema.Add(auditoriaSistema.ObtenerAuditoriaPlanificacion(perfil.EDInfoAuditoria, Enumeraciones.EnumAuditoriaSistema.Acciones.CREACION, Enumeraciones.EnumAuditoriaSistema.Modulos.Planificacion, Enumeraciones.EnumAuditoriaSistema.SubModulos.Perfil_sociodemográfico, Enumeraciones.EnumAuditoriaSistema.Opciones.Cargar_Plantilla, condicion.ToString())); } /*fin auditoria*/ } context.Tbl_Condiciones_Riesgo_Perfil.AddRange(condiciones); context.SaveChanges(); } Transaction.Commit(); return(true); } catch { Transaction.Rollback(); return(false); } } throw new NotImplementedException(); } }