Exemple #1
0
        public void Fill(CargarDatosContext datacontext, Int32 EdificioId, Int32?UnidadTiempoId)
        {
            baseFill(datacontext);
            this.EdificioId     = EdificioId;
            this.UnidadTiempoId = UnidadTiempoId;

            LstTrabajadores = datacontext.context.Trabajador.Where(x => x.EdificioId == EdificioId && x.Estado == ConstantHelpers.EstadoActivo).ToList();

            var lstunidadtiempo = datacontext.context.UnidadTiempo.OrderByDescending(x => x.Anio).OrderByDescending(x => x.Mes).Where(x => x.Estado == ConstantHelpers.EstadoActivo);

            foreach (var item in lstunidadtiempo)
            {
                LstComboUnidadTiempo.Add(new SelectListItem {
                    Value = item.UnidadTiempoId.ToString(), Text = item.Descripcion.ToUpper()
                });
            }

            Edificio = datacontext.context.Edificio.Find(EdificioId);

            foreach (var item in LstTrabajadores)
            {
                PlanillaQuincena p = datacontext.context.PlanillaQuincena.Where(x => x.TrabajadorId == item.TrabajadorId && x.UnidadTiempoId == UnidadTiempoId).FirstOrDefault();
                LstPlanilla.Add(p);
            }
        }
Exemple #2
0
        public void Fill(CargarDatosContext datacontext, Int32 EdificioId, Int32?UnidadTiempoId)
        {
            baseFill(datacontext);
            this.EdificioId     = EdificioId;
            this.UnidadTiempoId = UnidadTiempoId;

            //LstTrabajadores = datacontext.context.Trabajador.Where(x => x.EdificioId == EdificioId && x.Estado == ConstantHelpers.EstadoActivo).ToList();

            var lstunidadtiempo = datacontext.context.UnidadTiempo.OrderByDescending(x => x.Anio).OrderByDescending(x => x.Mes).Where(x => x.Estado == ConstantHelpers.EstadoActivo);

            foreach (var item in lstunidadtiempo)
            {
                LstComboUnidadTiempo.Add(new SelectListItem {
                    Value = item.UnidadTiempoId.ToString(), Text = item.Descripcion.ToUpper()
                });
            }

            Edificio        = datacontext.context.Edificio.Find(EdificioId);
            objUnidadTiempo = datacontext.context.UnidadTiempo.FirstOrDefault(x => x.UnidadTiempoId == UnidadTiempoId);

            PlanillaR planillaR = datacontext.context.PlanillaR.FirstOrDefault(x => x.EdificioId == EdificioId && x.UnidadTiempoId == UnidadTiempoId);

            if (planillaR != null)
            {
                RutaExcel = planillaR.RutaExcel;
                RutaPDF   = planillaR.RutaPDF;
            }
            //Ruta =

            //foreach (var item in LstTrabajadores)
            //{
            //    Planilla p = datacontext.context.Planilla.Where(x => x.TrabajadorId == item.TrabajadorId && x.UnidadTiempoId == UnidadTiempoId).FirstOrDefault();
            //    PlanillaQuincena pq = datacontext.context.PlanillaQuincena.Where(x => x.TrabajadorId == item.TrabajadorId && x.UnidadTiempoId == UnidadTiempoId).FirstOrDefault();
            //    if (p != null && pq != null)
            //    {
            //        p.AdelantoQuincena = pq.TotalQuincena ?? 0;
            //    }
            //    LstPlanilla.Add(p);
            //}
        }
        public void Fill(CargarDatosContext datacontext)
        {
            try
            {
                baseFill(datacontext);

                UnidadTiempo unidadTiempoSig = null;
                Gasto        gastoAcumulado  = datacontext.context.Gasto.OrderBy(x => - x.UnidadTiempo.Orden).FirstOrDefault(x => x.Estado.Equals(ConstantHelpers.EstadoActivo) && x.EdificioId == EdificioId && x.SaldoMes.HasValue);
                if (gastoAcumulado != null)
                {
                    Acumulado = gastoAcumulado.SaldoMes.Value;
                    UltimaUnidadTiempoAcumulado = gastoAcumulado.UnidadTiempo.Descripcion;
                    unidadTiempoSig             = datacontext.context.UnidadTiempo.FirstOrDefault(x => x.Orden == gastoAcumulado.UnidadTiempo.Orden + 1 && x.Estado.Equals(ConstantHelpers.EstadoActivo));
                }
                Edificio            = datacontext.context.Edificio.FirstOrDefault(x => x.EdificioId == EdificioId);
                TipoMora            = Edificio.TipoMora;
                MoraUnitariaGuardad = (double)Edificio.PMora.Value;

                List <UnidadTiempo> lstunidadtiempo = datacontext.context.UnidadTiempo.OrderBy(x => - x.Orden).Where(x => x.Estado == ConstantHelpers.EstadoActivo).ToList();
                foreach (var item in lstunidadtiempo)
                {
                    LstComboUnidadTiempo.Add(new SelectListItem {
                        Value = item.UnidadTiempoId.ToString(), Text = item.Descripcion.ToUpper()
                    });
                }

                FechaActualMora = DateTime.Now;

                try
                {
                    if (unidadTiempoSig != null)
                    {
                        CargarAcumuladoActual(datacontext, unidadTiempoSig);
                    }
                }
                catch (Exception ex)
                {
                }

                if (UnidadTiempoId.HasValue)
                {
                    LstLeyenda = datacontext.context.Leyenda.Where(X => X.BalanceUnidadTiempoEdificio.UnidadDeTiempoId == UnidadTiempoId && X.BalanceUnidadTiempoEdificio.EdificioId == EdificioId).ToList();

                    LeyendasPorDepartamento = new List <string>();

                    LstDepartamentos = new List <Departamento>();
                    LstDepartamentos = datacontext.context.Departamento.Where(x => x.EdificioId == EdificioId && x.Estado.Equals(ConstantHelpers.EstadoActivo)).ToList();

                    UnidadTiempo unidadTiempoActual = datacontext.context.UnidadTiempo.FirstOrDefault(x => x.UnidadTiempoId == UnidadTiempoId);

                    List <DateTime> LstFechasEmision = new List <DateTime>();
                    //LstDepartamentos.ForEach(x => x.MontoMora = );


                    LstCuota = datacontext.context.Cuota.Where(x => x.UnidadTiempoId == UnidadTiempoId && x.Departamento.EdificioId == EdificioId).ToList();


                    CuotasPorUnidadTiempo.Add(unidadTiempoActual.UnidadTiempoId.ToString(), LstCuota);
                    UnidadTiempo unidadTiempoAnterior = unidadTiempoActual;
                    LstUnidadTiempoString.Add(unidadTiempoAnterior.Descripcion.Remove(unidadTiempoAnterior.Descripcion.Length - 5));

                    // DateTime fechaEmisionUnidadTiempoActual = new DateTime(unidadTiempoActual.Anio, unidadTiempoActual.Mes, Edificio.DiaEmisionCuota);
                    // LstDepartamentos.ForEach(x => LstFechasEmision.Add(new DateTime(unidadTiempoAnterior.Anio, unidadTiempoAnterior.Mes, Edificio.DiaEmisionCuota)));
                    for (int i = 0; i < LstCuota.Count; i++)
                    {
                        if (LstCuota[i].Leyenda.HasValue)
                        {
                            LeyendasPorDepartamento.Add(LstCuota[i].Leyenda.Value.ToString());
                        }
                        else
                        {
                            LeyendasPorDepartamento.Add(" ");
                        }
                        if (!LstCuota[i].Pagado)
                        {
                            LstFechasEmision.Add(new DateTime(unidadTiempoAnterior.Anio, unidadTiempoAnterior.Mes, Edificio.DiaEmisionCuota));
                        }
                        else
                        {
                            LstFechasEmision.Add(DateTime.MinValue);
                        }
                    }
                    while (true)
                    {
                        if (unidadTiempoAnterior.Orden == 1)
                        {
                            break;
                        }

                        unidadTiempoAnterior = datacontext.context.UnidadTiempo.FirstOrDefault(x => x.Orden == unidadTiempoAnterior.Orden - 1 && x.Estado.Equals(ConstantHelpers.EstadoActivo));
                        if (unidadTiempoAnterior == null)
                        {
                            break;
                        }

                        CuotaComun cuotaComun = datacontext.context.CuotaComun.FirstOrDefault(x => x.EdificioId == EdificioId && x.UnidadTiempoId == unidadTiempoAnterior.UnidadTiempoId);
                        if (cuotaComun == null || cuotaComun.Pagado)
                        {
                            break;
                        }
                        LstUnidadTiempoString.Add(unidadTiempoAnterior.Descripcion.Remove(unidadTiempoAnterior.Descripcion.Length - 5));
                        LstCuota = datacontext.context.Cuota.Where(x => x.UnidadTiempo.Estado.Equals(ConstantHelpers.EstadoActivo) && x.UnidadTiempo.Mes == unidadTiempoAnterior.Mes && x.UnidadTiempo.Anio == unidadTiempoAnterior.Anio && x.Departamento.EdificioId == EdificioId).ToList();
                        CuotasPorUnidadTiempo.Add(unidadTiempoAnterior.UnidadTiempoId.ToString(), LstCuota);
                        for (int i = 0; i < Math.Min(LstCuota.Count, LstFechasEmision.Count); i++)
                        {
                            if (!LstCuota[i].Pagado)
                            {
                                LstFechasEmision[i] = new DateTime(unidadTiempoAnterior.Anio, unidadTiempoAnterior.Mes, Edificio.DiaEmisionCuota);
                            }
                        }
                    }

                    for (int i = 0; i < LstDepartamentos.Count; i++)
                    {
                        int DiasTranscurridosMora = ((LstDepartamentos[i].FechaPago.HasValue ? LstDepartamentos[i].FechaPago.Value.Date : FechaActualMora.Date) - FechaActualMora.Date).Days - 1;
                        DiasTranscurridosMora = DiasTranscurridosMora < 0 ? 0 : DiasTranscurridosMora;
                        Decimal moraUnitaria = Edificio.TipoMora.Equals(ConstantHelpers.TipoMoraPorcentual) ? Edificio.MontoCuota * Edificio.PMora.Value / 100M : Edificio.PMora.Value;
                        LstDepartamentos[i].MontoMora = moraUnitaria * DiasTranscurridosMora;
                        LstDepartamentos[i].FechaPago = LstDepartamentos[i].FechaPago == null ? DateTime.Now : LstDepartamentos[i].FechaPago;
                    }

                    //foreach (Cuota c in LstCuota)
                    //{
                    //    LstEstadoCuota.Add(c.Estado == "FIN");
                    //    if (HasDebt(c)) LstObservacion.Add(ConstantHelpers.DeudasActivas);
                    //    else LstObservacion.Add(ConstantHelpers.DeudasCerradas);
                    //}
                }
            }
            catch (Exception)
            {
                CuotasPorUnidadTiempo = new Dictionary <string, List <Cuota> >();
                LstUnidadTiempoString = new List <string>();
                LstDepartamentos      = new List <Departamento>();
            }
        }
        public void Fill(CargarDatosContext c, Int32?unidadTiempoInicio, Int32?unidadTiempoFin, Int32?departamentoId, Int32 edificioId, String estado)
        {
            baseFill(c);
            this.EdiId = edificioId;
            var edificio = c.context.Edificio.FirstOrDefault(x => x.EdificioId == edificioId);

            AcronimoEdificio        = edificio.Acronimo;
            NombreEdificio          = edificio.Nombre;
            FactorMora              = edificio.PMora.Value;
            TipoMora                = edificio.TipoMora;
            DiaMora                 = edificio.DiaMora ?? 15;
            this.UnidadTiempoInicio = unidadTiempoInicio;
            this.UnidadTiempoFin    = unidadTiempoFin;
            this.DepartamentoId     = departamentoId;
            this.Estado             = estado ?? "0";
            List <UnidadTiempo> lstunidadtiempo = c.context.UnidadTiempo.OrderBy(x => - x.Orden).Where(x => x.Estado == ConstantHelpers.EstadoActivo).ToList();

            foreach (var item in lstunidadtiempo)
            {
                LstComboUnidadTiempo.Add(new SelectListItem {
                    Value = item.UnidadTiempoId.ToString(), Text = item.Descripcion.ToUpper()
                });
            }

            LstEstado.Add(new SelectListItem {
                Text = "Pagado", Value = "1"
            });
            LstEstado.Add(new SelectListItem {
                Text = "Sin Pagar", Value = "0"
            });

            if (!UnidadTiempoFin.HasValue)
            {
                var uni = lstunidadtiempo.FirstOrDefault(x => x.EsActivo);
                UnidadTiempoFin = uni.UnidadTiempoId;
                AnioElegido     = uni.Anio;
                MesElegido      = uni.Mes;
            }
            else
            {
                var uni = lstunidadtiempo.FirstOrDefault(x => x.Estado == ConstantHelpers.EstadoActivo && x.UnidadTiempoId == UnidadTiempoFin.Value);
                AnioElegido = uni.Anio;
                MesElegido  = uni.Mes;
            }
            var mesActivo = lstunidadtiempo.FirstOrDefault(x => x.EsActivo).Mes;

            if (mesActivo == 2 && (DiaMora == 30 || DiaMora == 31))
            {
                DiaMora         = 28;
                FechaConsiderar = "28/" + mesActivo + "/" + lstunidadtiempo.FirstOrDefault(x => x.EsActivo).Anio;
            }
            else
            {
                if (DiaMora == 30)
                {
                    if (mesActivo == 1 ||
                        mesActivo == 3 ||
                        mesActivo == 5 ||
                        mesActivo == 7 ||
                        mesActivo == 8 ||
                        mesActivo == 10 ||
                        mesActivo == 12)
                    {
                        DiaMora        += 1;
                        FechaConsiderar = DiaMora + "/" + mesActivo + "/" + lstunidadtiempo.FirstOrDefault(x => x.EsActivo).Anio;
                    }
                }
                else
                {
                    FechaConsiderar = DiaMora + "/" + mesActivo + "/" + lstunidadtiempo.FirstOrDefault(x => x.EsActivo).Anio;
                }
            }
            LstDepartamento = c.context.Departamento.Where(x => x.Estado == ConstantHelpers.EstadoActivo && x.EdificioId == edificioId).ToList();


            if (this.DepartamentoId.HasValue)
            {
                var query = c.context.Cuota.Where(x => x.DepartamentoId == this.DepartamentoId && x.UnidadTiempo.Estado == ConstantHelpers.EstadoActivo && x.UnidadTiempoId <= UnidadTiempoFin).AsQueryable();
                if (!String.IsNullOrEmpty(this.Estado))
                {
                    var e = this.Estado == "0" ? false : true;
                    query = query.Where(x => x.Pagado == e);
                }
                LstCuota = query.OrderBy(x => x.DepartamentoId).ThenByDescending(x => x.UnidadTiempo.Orden).ToList();
            }
            else
            {
                var query = c.context.Cuota.Where(x => x.UnidadTiempoId <= UnidadTiempoFin && x.UnidadTiempo.Estado == ConstantHelpers.EstadoActivo && x.Departamento.EdificioId == this.EdiId).AsQueryable();
                if (!String.IsNullOrEmpty(this.Estado))
                {
                    var e = this.Estado == "0" ? false : true;
                    query = query.Where(x => x.Pagado == e);
                }
                LstCuota = query.OrderBy(x => x.DepartamentoId).ThenByDescending(x => x.UnidadTiempo.Orden).ToList();
            }
            LstLeyenda = c.context.Leyenda.Where(X => X.BalanceUnidadTiempoEdificio.UnidadDeTiempoId == UnidadTiempoFin && X.BalanceUnidadTiempoEdificio.EdificioId == EdiId).ToList();
            foreach (var item in LstLeyenda)
            {
                StrLeyendas += item.Numero + "." + item.Descripcion + "\r\n";
            }
        }
        public void Fill(CargarDatosContext datacontext)
        {
            baseFill(datacontext);
            Edificio        = datacontext.context.Edificio.FirstOrDefault(x => x.EdificioId == EdificioId);
            LstDepartamento = datacontext.context.Departamento.Where(x => x.EdificioId == EdificioId && x.Estado == ConstantHelpers.EstadoActivo).OrderBy(x => x.Numero).ToList();
            for (int i = 0; i < LstDepartamento.Count - 1; i++)
            {
                for (int k = i + 1; k < LstDepartamento.Count; k++)
                {
                    Int32 ii = 10000000;
                    Int32 kk = 1000000;
                    Int32.TryParse(LstDepartamento[i].Numero, out ii);
                    Int32.TryParse(LstDepartamento[k].Numero, out kk);
                    Departamento tmpDepartamento = null;
                    if (ii > kk)
                    {
                        tmpDepartamento    = LstDepartamento[i];
                        LstDepartamento[i] = LstDepartamento[k];
                        LstDepartamento[k] = tmpDepartamento;
                    }
                    tmpDepartamento = null;
                }
            }

            var lstunidadtiempo = datacontext.context.UnidadTiempo.OrderByDescending(x => x.Anio).ThenByDescending(x => x.Mes).Where(x => x.Estado == ConstantHelpers.EstadoActivo);

            foreach (var item in lstunidadtiempo)
            {
                LstComboUnidadTiempo.Add(new SelectListItem {
                    Value = item.UnidadTiempoId.ToString(), Text = item.Descripcion.ToUpper()
                });
            }

            LstLeyendas = new List <Leyenda>();
            if (UnidadTiempoId.HasValue)
            {
                CuotaComun = datacontext.context.CuotaComun.FirstOrDefault(x => x.UnidadTiempoId == UnidadTiempoId && x.EdificioId == EdificioId) ?? new CuotaComun();
                LstCuota   = datacontext.context.Cuota.Where(x => x.UnidadTiempoId == UnidadTiempoId && x.Departamento.EdificioId == EdificioId &&
                                                             x.EsExtraordinaria != true).ToList();
            }

            TotalProporcional     = LstDepartamento.Count;
            LstFactorProporcional = Enumerable.Repeat <double>(1, (int)TotalProporcional).ToList();

            LstFactorGasto         = new List <double>();
            LstFactorConsumoAgua   = new List <double>();
            TotalFactorGasto       = 0;
            TotalFactorConsumoAgua = 0;
            foreach (var item in LstDepartamento)
            {
                LstFactorGasto.Add((double)(item.FactorGasto ?? 0));
                TotalFactorGasto += (double)(item.FactorGasto ?? 0);
                LstFactorConsumoAgua.Add((double)item.LecturaAgua);
                TotalFactorConsumoAgua += (int)item.LecturaAgua;
            }

            this.FactorAreaComun      = getFactor(Edificio.FactorAreaComun);
            this.FactorAlcantarillado = getFactor(Edificio.FactorAlcantarillado);
            this.FactorCargoFijo      = getFactor(Edificio.FactorCargoFijo);
            var rec = datacontext.context.ReciboMes.FirstOrDefault(x => x.UnidadTiempoId == UnidadTiempoId && x.EdificioId == EdificioId);

            if (rec != null)
            {
                RutaUltimo = rec.Ruta;
            }
        }