Пример #1
0
        public List <ActividadPresupuesto> CrearInformePresupuesto(int IDPresupuestoAnio, int fecha, int intervaloDeTiempo)
        {
            List <ActividadPresupuesto> actividadesPresupuestoAnio = presupuestoRepositorio.ObtenerActividadesPorPresupuesto(IDPresupuestoAnio);


            foreach (ActividadPresupuesto ap in actividadesPresupuestoAnio)
            {
                if (ap.actividadesPresupuesto != null)
                {
                    foreach (ActividadPresupuesto aphijas in ap.actividadesPresupuesto)
                    {
                        List <PresupuestoPorMes> ppms = new List <PresupuestoPorMes>();
                        double totalPresupuesto       = 0;
                        double totalEjecutado         = 0;
                        bool   crearPresupuestoMes    = false;
                        foreach (PresupuestoPorMes ppm in aphijas.presupuestosPorMes)
                        {
                            if (fecha == 1) // Mesual
                            {
                                if (ppm.Mes == intervaloDeTiempo)
                                {
                                    ppms.Add(ppm);
                                }
                            }
                            if (fecha == 2) // trimestral
                            {
                                if (intervaloDeTiempo == 1)
                                {
                                    if (ppm.Mes == 1 || ppm.Mes == 2 || ppm.Mes == 3)
                                    {
                                        totalPresupuesto = totalPresupuesto + ppm.PresupuestoMes;
                                        totalEjecutado   = totalEjecutado + ppm.PresupuestoEjecutadoPorMes;
                                    }
                                }
                                if (intervaloDeTiempo == 2)
                                {
                                    if (ppm.Mes == 4 || ppm.Mes == 5 || ppm.Mes == 6)
                                    {
                                        totalPresupuesto = totalPresupuesto + ppm.PresupuestoMes;
                                        totalEjecutado   = totalEjecutado + ppm.PresupuestoEjecutadoPorMes;
                                    }
                                }
                                if (intervaloDeTiempo == 3)
                                {
                                    if (ppm.Mes == 7 || ppm.Mes == 8 || ppm.Mes == 9)
                                    {
                                        totalPresupuesto = totalPresupuesto + ppm.PresupuestoMes;
                                        totalEjecutado   = totalEjecutado + ppm.PresupuestoEjecutadoPorMes;
                                    }
                                }
                                if (intervaloDeTiempo == 4)
                                {
                                    if (ppm.Mes == 10 || ppm.Mes == 11 || ppm.Mes == 12)
                                    {
                                        totalPresupuesto = totalPresupuesto + ppm.PresupuestoMes;
                                        totalEjecutado   = totalEjecutado + ppm.PresupuestoEjecutadoPorMes;
                                    }
                                }
                                crearPresupuestoMes = true;
                            }
                            if (fecha == 3) // Semestral
                            {
                                if (intervaloDeTiempo == 1)
                                {
                                    if (ppm.Mes == 1 || ppm.Mes == 2 || ppm.Mes == 3 || ppm.Mes == 4 || ppm.Mes == 5 || ppm.Mes == 6)
                                    {
                                        totalPresupuesto = totalPresupuesto + ppm.PresupuestoMes;
                                        totalEjecutado   = totalEjecutado + ppm.PresupuestoEjecutadoPorMes;
                                    }
                                }
                                if (intervaloDeTiempo == 2)
                                {
                                    if (ppm.Mes == 7 || ppm.Mes == 8 || ppm.Mes == 9 || ppm.Mes == 10 || ppm.Mes == 11 || ppm.Mes == 12)
                                    {
                                        totalPresupuesto = totalPresupuesto + ppm.PresupuestoMes;
                                        totalEjecutado   = totalEjecutado + ppm.PresupuestoEjecutadoPorMes;
                                    }
                                }
                                crearPresupuestoMes = true;
                            }
                            if (fecha == 4) // Mesual
                            {
                                totalPresupuesto    = totalPresupuesto + ppm.PresupuestoMes;
                                totalEjecutado      = totalEjecutado + ppm.PresupuestoEjecutadoPorMes;
                                crearPresupuestoMes = true;
                            }
                        }
                        if (crearPresupuestoMes)
                        {
                            PresupuestoPorMes ppm = new PresupuestoPorMes();
                            ppm.PresupuestoMes             = totalPresupuesto;
                            ppm.PresupuestoEjecutadoPorMes = totalEjecutado;
                            ppms.Add(ppm);
                        }
                        aphijas.presupuestosPorMes = ppms;
                    }
                }
                else
                {
                    List <PresupuestoPorMes> ppms = new List <PresupuestoPorMes>();
                    double totalPresupuesto       = 0;
                    double totalEjecutado         = 0;
                    bool   crearPresupuestoMes    = false;
                    foreach (PresupuestoPorMes ppm in ap.presupuestosPorMes)
                    {
                        if (fecha == 1) // Mesual
                        {
                            if (ppm.Mes == intervaloDeTiempo)
                            {
                                ppms.Add(ppm);
                            }
                        }
                        if (fecha == 2) // trimestral
                        {
                            if (intervaloDeTiempo == 1)
                            {
                                if (ppm.Mes == 1 || ppm.Mes == 2 || ppm.Mes == 3)
                                {
                                    totalPresupuesto = totalPresupuesto + ppm.PresupuestoMes;
                                    totalEjecutado   = totalEjecutado + ppm.PresupuestoEjecutadoPorMes;
                                }
                            }
                            if (intervaloDeTiempo == 2)
                            {
                                if (ppm.Mes == 4 || ppm.Mes == 5 || ppm.Mes == 6)
                                {
                                    totalPresupuesto = totalPresupuesto + ppm.PresupuestoMes;
                                    totalEjecutado   = totalEjecutado + ppm.PresupuestoEjecutadoPorMes;
                                }
                            }
                            if (intervaloDeTiempo == 3)
                            {
                                if (ppm.Mes == 7 || ppm.Mes == 8 || ppm.Mes == 9)
                                {
                                    totalPresupuesto = totalPresupuesto + ppm.PresupuestoMes;
                                    totalEjecutado   = totalEjecutado + ppm.PresupuestoEjecutadoPorMes;
                                }
                            }
                            if (intervaloDeTiempo == 4)
                            {
                                if (ppm.Mes == 10 || ppm.Mes == 11 || ppm.Mes == 12)
                                {
                                    totalPresupuesto = totalPresupuesto + ppm.PresupuestoMes;
                                    totalEjecutado   = totalEjecutado + ppm.PresupuestoEjecutadoPorMes;
                                }
                            }
                            crearPresupuestoMes = true;
                        }
                        if (fecha == 3) // Semestral
                        {
                            if (intervaloDeTiempo == 1)
                            {
                                if (ppm.Mes == 1 || ppm.Mes == 2 || ppm.Mes == 3 || ppm.Mes == 4 || ppm.Mes == 5 || ppm.Mes == 6)
                                {
                                    totalPresupuesto = totalPresupuesto + ppm.PresupuestoMes;
                                    totalEjecutado   = totalEjecutado + ppm.PresupuestoEjecutadoPorMes;
                                }
                            }
                            if (intervaloDeTiempo == 2)
                            {
                                if (ppm.Mes == 7 || ppm.Mes == 8 || ppm.Mes == 9 || ppm.Mes == 10 || ppm.Mes == 11 || ppm.Mes == 12)
                                {
                                    totalPresupuesto = totalPresupuesto + ppm.PresupuestoMes;
                                    totalEjecutado   = totalEjecutado + ppm.PresupuestoEjecutadoPorMes;
                                }
                            }
                            crearPresupuestoMes = true;
                        }
                        if (fecha == 4) // Mesual
                        {
                            totalPresupuesto    = totalPresupuesto + ppm.PresupuestoMes;
                            totalEjecutado      = totalEjecutado + ppm.PresupuestoEjecutadoPorMes;
                            crearPresupuestoMes = true;
                        }
                    }
                    if (crearPresupuestoMes)
                    {
                        PresupuestoPorMes ppm = new PresupuestoPorMes();
                        ppm.PresupuestoMes             = totalPresupuesto;
                        ppm.PresupuestoEjecutadoPorMes = totalEjecutado;
                        ppms.Add(ppm);
                    }
                    ap.presupuestosPorMes = ppms;
                }
            }

            return(actividadesPresupuestoAnio);
        }
Пример #2
0
        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);
                }
            }
        }