示例#1
0
        // GET: Prestamos
        public IActionResult Index()
        {
            ViewData["controller"] = "Prestamos";
            ViewData["action"]     = "";
            var anhoParametrizado = _parametrosRepository.Get(x => x.Nombre.Equals("año")).FirstOrDefault();
            var prestamos         = _prestamoRepository.Get(x => x.Fecha.Year == Convert.ToInt32(anhoParametrizado.Valor1), new string[] { "Persona" });
            var search            = ParseToListMVC(prestamos);

            return(View(search));
        }
示例#2
0
        public void OnGet()
        {
            var anhoParametrizado = Convert.ToInt32(_parametrosRepository.Get(x => x.Nombre.Equals("año")).FirstOrDefault().Valor1);

            ahorrado   = _consignacionRepository.Get(x => x.Fecha.Year == anhoParametrizado && x.TipoConsignacion == 2).Sum(x => x.Valor);
            interes    = _consignacionRepository.Get(x => x.Fecha.Year == anhoParametrizado && x.TipoConsignacion == 1).Sum(x => x.Interes);
            prestado   = _prestamoRepository.Get(x => x.Fecha.Year == anhoParametrizado && !x.Finalizado).Sum(x => x.Valor);
            disponible = ahorrado + interes - prestado;
        }
示例#3
0
 public Prestamo Get(long id)
 {
     return(prestamoRepository.Get(id));
 }
示例#4
0
        public AlertsPartialModel(DbContextOptions <FondoContext> dbContext) : base()
        {
            int countAlerts = 0;
            var hoy         = DateTime.Today;

            _dbContext              = dbContext;
            _personaRepository      = new PersonaRepository(_dbContext);
            _prestamoRepository     = new PrestamoRepository(_dbContext);
            _consignacionRepository = new ConsignacionRepository(_dbContext);
            var afiliadosActivos = _personaRepository.Get(x => x.Activo && x.Afiliado, new string[] { "Consignaciones", "Prestamos" });

            foreach (var afiliado in afiliadosActivos)
            {
                var ultimaConsignacion = afiliado.Consignaciones.Where(x => x.TipoConsignacion == 2).LastOrDefault();
                var diffDias           = 0;
                if (ultimaConsignacion != null)
                {
                    diffDias = ((TimeSpan)(hoy - ultimaConsignacion.Fecha)).Days;
                }
                if (ultimaConsignacion == null && (hoy.Month > 1 || (afiliado.Quincena.Value == 1 && hoy.Day > 5) || (afiliado.Quincena.Value == 2 && hoy.Day > 15)))
                {
                    countAlerts++;
                }
                else if (diffDias > 30)
                {
                    countAlerts++;
                }
                else if (afiliado.Quincena.HasValue && (afiliado.Quincena.Value == 1 && diffDias > 5) || (afiliado.Quincena.Value == 2 && diffDias > 15))
                {
                    countAlerts++;
                }
            }
            NumberAlertsAhorro = countAlerts;
            countAlerts        = 0;
            var prestamosActivos = _prestamoRepository.Get(x => !x.Finalizado, new string[] { "Persona" });

            foreach (var prestamo in prestamosActivos)
            {
                var diffDias     = 0;
                var fechaLimite  = new DateTime(hoy.Year, hoy.Month, prestamo.Fecha.Day);
                var consignacion = _consignacionRepository.Get(x => x.PersonaId == prestamo.PersonaId && x.TipoConsignacion == 1 && x.Interes.HasValue && x.Interes > 0).LastOrDefault();
                if (consignacion != null)
                {
                    diffDias = ((TimeSpan)(fechaLimite - consignacion.Fecha)).Days;
                    if (diffDias > 30)
                    {
                        countAlerts++;
                    }
                }
                else
                {
                    diffDias = ((TimeSpan)(fechaLimite - prestamo.Fecha)).Days;
                    if (diffDias > 30)
                    {
                        countAlerts++;
                    }
                }
            }
            NumberAlertsPrestamo = countAlerts;
            NumberAlertsTotal    = NumberAlertsPrestamo + NumberAlertsAhorro;
        }