public bool EliminarActividad(int pkActividad, EDInformacionAuditoria edInfoauditoria) { using (var transaction = db.Database.BeginTransaction()) { try { ActividadPresupuesto ac = ObtenerActividadPresupuesto(pkActividad); if (db.Tbl_ActivaAuditoriaSistema.ToList().FirstOrDefault().EsActivaLiderazgoGerencial) { db.Tbl_AuditoriaLiderazgoGerencialSistema.Add(auditoriaSistema.ObtenerAuditoriaLiderazgoGerencial(edInfoauditoria, Enumeraciones.EnumAuditoriaSistema.Acciones.ELIMINACION, Enumeraciones.EnumAuditoriaSistema.Modulos.Liderazgo_Gerencial, Enumeraciones.EnumAuditoriaSistema.SubModulos.Presupuesto, Enumeraciones.EnumAuditoriaSistema.Opciones.ConsultarPresupuesto, ac.ToString())); } db.Tbl_Actividad_Presupuesto.Remove(ac); db.SaveChanges(); transaction.Commit(); return(true); } catch (Exception ex) { //RegistroInformacion.EnviarError<ActividadPresupuesto>(ex.Message); transaction.Rollback(); return(false); } } }
public bool GuardarPresupuesto(List <ActividadPresupuesto> actividadesPresupuesto, EDInformacionAuditoria edInfoauditoria) { SG_SSTContext dbaud = new SG_SSTContext(); using (var transaction = db.Database.BeginTransaction()) { try { foreach (ActividadPresupuesto ac in actividadesPresupuesto) { if (ac.PK_Actividad_Presupuesto > 0) { if (ac.actividadesPresupuesto != null) { List <ActividadPresupuesto> lisAux = ac.actividadesPresupuesto.ToList(); foreach (ActividadPresupuesto actividadesSecun in lisAux) { if (actividadesSecun.PK_Actividad_Presupuesto > 0) { foreach (PresupuestoPorMes pxm in actividadesSecun.presupuestosPorMes) { /*inicio auditoria*/ if (db.Tbl_ActivaAuditoriaSistema.ToList().FirstOrDefault().EsActivaLiderazgoGerencial) { PresupuestoPorMes pxmaudi = dbaud.Tbl_Presupuesto_Por_Mes.Find(pxm.PK_Prepuesto_Por_Mes); db.Tbl_AuditoriaLiderazgoGerencialSistema.Add(auditoriaSistema.ObtenerAuditoriaLiderazgoGerencial(edInfoauditoria, Enumeraciones.EnumAuditoriaSistema.Acciones.MODIFICACION, Enumeraciones.EnumAuditoriaSistema.Modulos.Liderazgo_Gerencial, Enumeraciones.EnumAuditoriaSistema.SubModulos.Presupuesto, Enumeraciones.EnumAuditoriaSistema.Opciones.ConsultarPresupuesto, pxmaudi.ToString())); } /*fin auditoria*/ db.Entry(pxm).State = EntityState.Modified; } /*inicio auditoria*/ if (db.Tbl_ActivaAuditoriaSistema.ToList().FirstOrDefault().EsActivaLiderazgoGerencial) { ActividadPresupuesto acps = dbaud.Tbl_Actividad_Presupuesto.Find(actividadesSecun.PK_Actividad_Presupuesto); db.Tbl_AuditoriaLiderazgoGerencialSistema.Add(auditoriaSistema.ObtenerAuditoriaLiderazgoGerencial(edInfoauditoria, Enumeraciones.EnumAuditoriaSistema.Acciones.MODIFICACION, Enumeraciones.EnumAuditoriaSistema.Modulos.Liderazgo_Gerencial, Enumeraciones.EnumAuditoriaSistema.SubModulos.Presupuesto, Enumeraciones.EnumAuditoriaSistema.Opciones.ConsultarPresupuesto, acps.ToString())); } /*fin auditoria*/ db.Entry(actividadesSecun).State = EntityState.Modified; } } ac.actividadesPresupuesto = lisAux; } else { foreach (PresupuestoPorMes pxm in ac.presupuestosPorMes) { /*inicio auditoria*/ if (db.Tbl_ActivaAuditoriaSistema.ToList().FirstOrDefault().EsActivaLiderazgoGerencial) { PresupuestoPorMes pxmaudi = dbaud.Tbl_Presupuesto_Por_Mes.Find(pxm.PK_Prepuesto_Por_Mes); db.Tbl_AuditoriaLiderazgoGerencialSistema.Add(auditoriaSistema.ObtenerAuditoriaLiderazgoGerencial(edInfoauditoria, Enumeraciones.EnumAuditoriaSistema.Acciones.MODIFICACION, Enumeraciones.EnumAuditoriaSistema.Modulos.Liderazgo_Gerencial, Enumeraciones.EnumAuditoriaSistema.SubModulos.Presupuesto, Enumeraciones.EnumAuditoriaSistema.Opciones.ConsultarPresupuesto, pxmaudi.ToString())); } /*fin auditoria*/ db.Entry(pxm).State = EntityState.Modified; } } /*inicio auditoria*/ if (db.Tbl_ActivaAuditoriaSistema.ToList().FirstOrDefault().EsActivaLiderazgoGerencial) { ActividadPresupuesto acp = dbaud.Tbl_Actividad_Presupuesto.Find(ac.PK_Actividad_Presupuesto); db.Tbl_AuditoriaLiderazgoGerencialSistema.Add(auditoriaSistema.ObtenerAuditoriaLiderazgoGerencial(edInfoauditoria, Enumeraciones.EnumAuditoriaSistema.Acciones.MODIFICACION, Enumeraciones.EnumAuditoriaSistema.Modulos.Liderazgo_Gerencial, Enumeraciones.EnumAuditoriaSistema.SubModulos.Presupuesto, Enumeraciones.EnumAuditoriaSistema.Opciones.ConsultarPresupuesto, acp.ToString())); } /*fin auditoria*/ db.Entry(ac).State = EntityState.Modified; } else { if (ac.actividadesPresupuesto != null) { List <ActividadPresupuesto> lisAux = ac.actividadesPresupuesto.ToList(); ac.actividadesPresupuesto = null; db.Tbl_Actividad_Presupuesto.Add(ac); foreach (ActividadPresupuesto actividadesSecun in lisAux) { if (actividadesSecun.PK_Actividad_Presupuesto > 0) { foreach (PresupuestoPorMes pxm in actividadesSecun.presupuestosPorMes) { /*inicio auditoria*/ if (db.Tbl_ActivaAuditoriaSistema.ToList().FirstOrDefault().EsActivaLiderazgoGerencial) { PresupuestoPorMes pxmaudi = dbaud.Tbl_Presupuesto_Por_Mes.Find(pxm.PK_Prepuesto_Por_Mes); db.Tbl_AuditoriaLiderazgoGerencialSistema.Add(auditoriaSistema.ObtenerAuditoriaLiderazgoGerencial(edInfoauditoria, Enumeraciones.EnumAuditoriaSistema.Acciones.MODIFICACION, Enumeraciones.EnumAuditoriaSistema.Modulos.Liderazgo_Gerencial, Enumeraciones.EnumAuditoriaSistema.SubModulos.Presupuesto, Enumeraciones.EnumAuditoriaSistema.Opciones.ConsultarPresupuesto, pxmaudi.ToString())); } /*fin auditoria*/ db.Entry(pxm).State = EntityState.Modified; } /*inicio auditoria*/ if (db.Tbl_ActivaAuditoriaSistema.ToList().FirstOrDefault().EsActivaLiderazgoGerencial) { ActividadPresupuesto acps = dbaud.Tbl_Actividad_Presupuesto.Find(actividadesSecun.PK_Actividad_Presupuesto); db.Tbl_AuditoriaLiderazgoGerencialSistema.Add(auditoriaSistema.ObtenerAuditoriaLiderazgoGerencial(edInfoauditoria, Enumeraciones.EnumAuditoriaSistema.Acciones.MODIFICACION, Enumeraciones.EnumAuditoriaSistema.Modulos.Liderazgo_Gerencial, Enumeraciones.EnumAuditoriaSistema.SubModulos.Presupuesto, Enumeraciones.EnumAuditoriaSistema.Opciones.ConsultarPresupuesto, acps.ToString())); } /*fin auditoria*/ db.Entry(actividadesSecun).State = EntityState.Modified; } else { /*inicio auditoria*/ if (db.Tbl_ActivaAuditoriaSistema.ToList().FirstOrDefault().EsActivaLiderazgoGerencial) { db.Tbl_AuditoriaLiderazgoGerencialSistema.Add(auditoriaSistema.ObtenerAuditoriaLiderazgoGerencial(edInfoauditoria, Enumeraciones.EnumAuditoriaSistema.Acciones.CREACION, Enumeraciones.EnumAuditoriaSistema.Modulos.Liderazgo_Gerencial, Enumeraciones.EnumAuditoriaSistema.SubModulos.Presupuesto, Enumeraciones.EnumAuditoriaSistema.Opciones.ConsultarPresupuesto, actividadesSecun.ToString())); } /*fin auditoria*/ db.Tbl_Actividad_Presupuesto.Add(actividadesSecun); } } ac.actividadesPresupuesto = lisAux; } else { /*inicio auditoria*/ if (db.Tbl_ActivaAuditoriaSistema.ToList().FirstOrDefault().EsActivaLiderazgoGerencial) { db.Tbl_AuditoriaLiderazgoGerencialSistema.Add(auditoriaSistema.ObtenerAuditoriaLiderazgoGerencial(edInfoauditoria, Enumeraciones.EnumAuditoriaSistema.Acciones.CREACION, Enumeraciones.EnumAuditoriaSistema.Modulos.Liderazgo_Gerencial, Enumeraciones.EnumAuditoriaSistema.SubModulos.Presupuesto, Enumeraciones.EnumAuditoriaSistema.Opciones.ConsultarPresupuesto, ac.ToString())); } /*fin auditoria*/ db.Tbl_Actividad_Presupuesto.Add(ac); } } } ActividadPresupuesto acti = actividadesPresupuesto.FirstOrDefault(); if (acti.PK_Actividad_Presupuesto > 0) { if (acti.actividadesPresupuesto != null) { Presupuesto p = acti.actividadesPresupuesto.FirstOrDefault().presupuestosPorMes.FirstOrDefault().Presupuesto; /*inicio auditoria*/ if (db.Tbl_ActivaAuditoriaSistema.ToList().FirstOrDefault().EsActivaLiderazgoGerencial) { db.Tbl_AuditoriaLiderazgoGerencialSistema.Add(auditoriaSistema.ObtenerAuditoriaLiderazgoGerencial(edInfoauditoria, Enumeraciones.EnumAuditoriaSistema.Acciones.MODIFICACION, Enumeraciones.EnumAuditoriaSistema.Modulos.Liderazgo_Gerencial, Enumeraciones.EnumAuditoriaSistema.SubModulos.Presupuesto, Enumeraciones.EnumAuditoriaSistema.Opciones.ConsultarPresupuesto, p.ToString())); } /*fin auditoria*/ db.Entry(p.presupuestosPorAnio.FirstOrDefault()).State = EntityState.Modified; db.Entry(p).State = EntityState.Modified; } else { Presupuesto p = acti.presupuestosPorMes.FirstOrDefault().Presupuesto; /*inicio auditoria*/ if (db.Tbl_ActivaAuditoriaSistema.ToList().FirstOrDefault().EsActivaLiderazgoGerencial) { db.Tbl_AuditoriaLiderazgoGerencialSistema.Add(auditoriaSistema.ObtenerAuditoriaLiderazgoGerencial(edInfoauditoria, Enumeraciones.EnumAuditoriaSistema.Acciones.MODIFICACION, Enumeraciones.EnumAuditoriaSistema.Modulos.Liderazgo_Gerencial, Enumeraciones.EnumAuditoriaSistema.SubModulos.Presupuesto, Enumeraciones.EnumAuditoriaSistema.Opciones.ConsultarPresupuesto, p.ToString())); } /*fin auditoria*/ db.Entry(p.presupuestosPorAnio.FirstOrDefault()).State = EntityState.Modified; db.Entry(p).State = EntityState.Modified; } } db.SaveChanges(); transaction.Commit(); return(true); } catch (Exception ex) { //RegistroInformacion.EnviarError<ActividadPresupuesto>(ex.Message); transaction.Rollback(); return(false); } } }