Пример #1
0
 public dynamic GuardarDetallePresupuesto(DbPresupuestoPrograma request)
 {
     return(_dataModelRepository.GuardarPresupuestoDetalle(request));
 }
Пример #2
0
 public dynamic UpdateDetallePresupuesto(DbPresupuestoPrograma request)
 {
     return(_dataModelRepository.ActualizarPresupuesto(request));
 }
        public static long Copiar(IContextFactory factory, IOptions <ConnectionDB> connection, long IdPresupuestoAnio)
        {
            long id = 0;

            using (Aldeas_Context db = factory.Create(connection))
            {
                var data = from pro in db.TbPresupuestoAnio
                           where pro.id == IdPresupuestoAnio && pro.actual == true
                           select pro;



                if (data.Any())
                {
                    #region Copiamos 01 Presupuesto Anio
                    int numVersion = 0;
                    numVersion = data.First().numeroVersion + 1;

                    var conteo = from pro in db.TbPresupuestoAnio
                                 where pro.idPrograma == data.First().idPrograma &&
                                 pro.Anio == data.First().Anio
                                 select pro;

                    numVersion = conteo.Count() + 1;
                    var nuevo = new DbPresupuestoAnio()
                    {
                        actual              = true,
                        fecha_creacion      = DateTime.Now,
                        fecha_actualizacion = DateTime.Now,
                        per_capacitacion    = data.First().per_capacitacion,
                        per_nomina          = data.First().per_capacitacion,
                        idPrograma          = data.First().idPrograma,
                        numeroVersion       = numVersion,
                        Anio = data.First().Anio,
                    };
                    db.TbPresupuestoAnio.Add(nuevo);

                    db.SaveChanges();
                    data.First().actual = false;
                    data.First().fecha_actualizacion = DateTime.Now;

                    db.SaveChanges();

                    id = nuevo.id;

                    #endregion

                    #region  Copiamos  02 Presupuesto coberturas
                    var dataCoberturas = from pro in db.TbPresupuestos
                                         where pro.idPresupuestoAnio == IdPresupuestoAnio
                                         select pro;



                    List <DbPresupuestoPrograma> presupuestoProgramasCopia = new List <DbPresupuestoPrograma>();
                    if (dataCoberturas.Any())
                    {
                        foreach (var copia in dataCoberturas.ToList())
                        {
                            long idCoberturaCopia = 0;
                            var  coberturaCopia   = new DbPresupuesto
                            {
                                Anio = copia.Anio,
                                idPresupuestoAnio        = id,
                                idPrograma               = copia.idPrograma,
                                idFinanciador            = copia.idFinanciador,
                                IdProgramaCecos          = copia.IdProgramaCecos,
                                NombreContrato           = copia.NombreContrato,
                                CoberturaAnual           = copia.CoberturaAnual,
                                CoberturaMensual         = copia.CoberturaMensual,
                                CoberturaMensualEsperada = copia.CoberturaMensualEsperada,
                                CoberturasCasas          = copia.CoberturasCasas,
                                fecha_actualizacion      = DateTime.Now,
                                fecha_creacion           = DateTime.Now
                            };

                            db.TbPresupuestos.Add(coberturaCopia);
                            db.SaveChanges();
                            idCoberturaCopia = coberturaCopia.id;


                            var dataItemsCobertura = from pro in db.TbPresupuestosProgramas
                                                     where pro.idPresupuesto == copia.id
                                                     select pro;

                            if (dataItemsCobertura.Any())
                            {
                                foreach (var copiaItem in dataItemsCobertura.ToList())
                                {
                                    var nuevoCopiaItem = new DbPresupuestoPrograma
                                    {
                                        idPresupuesto        = idCoberturaCopia,
                                        idProgramaCecos      = copiaItem.idProgramaCecos,
                                        idRubroPucs          = copiaItem.idRubroPucs,
                                        esNomina             = copiaItem.esNomina,
                                        esPPTO               = copiaItem.esPPTO,
                                        NumeroIdentificacion = copiaItem.NumeroIdentificacion,
                                        Nombre               = copiaItem.Nombre,
                                        Cargo               = copiaItem.Cargo,
                                        Asignacion          = copiaItem.Asignacion,
                                        NoCasa              = copiaItem.NoCasa,
                                        NoKids              = copiaItem.NoKids,
                                        NotaIngles          = copiaItem.NotaIngles,
                                        DetalleGasto        = copiaItem.DetalleGasto,
                                        Enero               = copiaItem.Enero,
                                        Febrero             = copiaItem.Febrero,
                                        Marzo               = copiaItem.Marzo,
                                        Abril               = copiaItem.Abril,
                                        Mayo                = copiaItem.Mayo,
                                        Junio               = copiaItem.Junio,
                                        Julio               = copiaItem.Julio,
                                        Agosto              = copiaItem.Agosto,
                                        Septiembre          = copiaItem.Septiembre,
                                        Octubre             = copiaItem.Octubre,
                                        Noviembre           = copiaItem.Noviembre,
                                        Diciembre           = copiaItem.Diciembre,
                                        Total               = copiaItem.Total,
                                        TotalAnual          = copiaItem.TotalAnual,
                                        fecha_actualizacion = DateTime.Now,
                                        fecha_creacion      = DateTime.Now
                                    };
                                    presupuestoProgramasCopia.Add(nuevoCopiaItem);
                                }

                                if (presupuestoProgramasCopia.Count > 0)
                                {
                                    db.TbPresupuestosProgramas.AddRange(presupuestoProgramasCopia);
                                    db.SaveChanges();
                                    presupuestoProgramasCopia = new List <DbPresupuestoPrograma>();
                                }
                            }
                        }
                    }
                    #endregion
                }
                else
                {
                    return(0);
                }
            }


            return(id);
        }
 public dynamic ActualizarPresupuesto(DbPresupuestoPrograma request)
 {
     return(PresupuestoOperations.ActualizarPresupuestoProgramas(_factory, _connectionDB, request));
 }
 public dynamic GuardarPresupuestoDetalle(DbPresupuestoPrograma request)
 {
     return(PresupuestoOperations.GuardarDetallePresupuesto(_factory, _connectionDB, request));
 }
Пример #6
0
        public static dynamic ActualizarPresupuestoProgramas(IContextFactory factory, IOptions <ConnectionDB> connection, DbPresupuestoPrograma datos)
        {
            using (Aldeas_Context db = factory.Create(connection))
            {
                var data = from pro in db.TbPresupuestosProgramas
                           where pro.id == datos.idPresupuesto

                           select pro;
                if (data.Any())
                {
                    int porcentaje = 0;
                    if (datos.Asignacion != null)
                    {
                        porcentaje = (int)datos.Asignacion / 100;
                    }
                    data.First().NumeroIdentificacion = datos.NumeroIdentificacion == null? null: datos.NumeroIdentificacion;
                    data.First().Nombre     = datos.Nombre;
                    data.First().Cargo      = datos.Cargo;
                    data.First().Asignacion = datos.Asignacion == null ? null : datos.Asignacion;
                    data.First().NoCasa     = datos.NoCasa == null ? null : datos.NoCasa;
                    data.First().NoKids     = datos.NoKids == null ? null : datos.NoKids;
                    data.First().Enero      = datos.Enero;
                    data.First().Febrero    = datos.Febrero;
                    data.First().Marzo      = datos.Marzo;
                    data.First().Abril      = datos.Abril;
                    data.First().Mayo       = datos.Mayo;
                    data.First().Junio      = datos.Junio;
                    data.First().Julio      = datos.Julio;

                    data.First().Agosto       = datos.Agosto;
                    data.First().Septiembre   = datos.Septiembre;
                    data.First().Octubre      = datos.Octubre;
                    data.First().Noviembre    = datos.Noviembre;
                    data.First().Diciembre    = datos.Diciembre;
                    data.First().NotaIngles   = datos.NotaIngles;
                    data.First().DetalleGasto = datos.DetalleGasto;
                    data.First().Total        = datos.Enero + datos.Febrero + datos.Marzo + datos.Abril + datos.Mayo + datos.Junio +
                                                datos.Julio + datos.Agosto + datos.Septiembre + datos.Octubre + datos.Noviembre + datos.Diciembre;
                    ;
                    data.First().TotalAnual = data.First().Total *porcentaje;
                    datos.fecha_actualizacion = DateTime.Now;

                    db.SaveChanges();
                }
            }

            return(new { id = 0, status = "OK", code = 200 });
        }
Пример #7
0
        public static dynamic GuardarDetallePresupuestoSinCobertura(IContextFactory factory, IOptions <ConnectionDB> connection, DbPresupuestoPrograma datos)
        {
            using (Aldeas_Context db = factory.Create(connection))
            {
                if (datos.Cargo == 0)
                {
                    datos.Cargo = null;
                }
                datos.fecha_actualizacion = DateTime.Now;
                datos.fecha_creacion      = DateTime.Now;


                datos.Total = (datos.Enero + datos.Febrero + datos.Marzo + datos.Abril + datos.Mayo + datos.Junio + datos.Julio + datos.Agosto + datos.Septiembre + datos.Octubre + datos.Noviembre + datos.Diciembre);
                db.TbPresupuestosProgramas.Add(datos);
                db.SaveChanges();
            }

            return(new { id = 0, status = "OK", code = 200 });
        }