Esempio n. 1
0
        public ConsignacionesController(IConsignacionRepository consignacionRepository, IPersonaRepository personaRepository, IPrestamoRepository prestamoRepository, IParametrosRepository parametrosRepository)
        {
            _consignacionRepository = consignacionRepository;
            _personaRepository      = personaRepository;
            _prestamoRepository     = prestamoRepository;
            _parametrosRepository   = parametrosRepository;
            var m = new AutoMapper.MapperConfiguration(c =>
            {
                c.CreateMap <Model.ConsignacionMVC, DTO.ConsignacionDTO>();
            });

            _mapper = m.CreateMapper();
        }
Esempio n. 2
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;
        }
Esempio n. 3
0
 public IndexModel(IConsignacionRepository consinacionRepository, IPrestamoRepository prestamoRepository, IParametrosRepository parametrosRepository)
 {
     _consignacionRepository = consinacionRepository;
     _prestamoRepository     = prestamoRepository;
     _parametrosRepository   = parametrosRepository;
 }