示例#1
0
        public Projector()
        {
            this.db = new ArsDataContext();

            autorizacionService = new AutorizacionService(db);
            service = new AfiliadoService(db);
        }
        public AutorizacionValidator(ArsDataContext db, Autorizacion autorizacion)
        {
            this.db = db;
            this.afiliadoService = new AfiliadoService(db);

            this.afiliado = db.Afiliados.Single(p => p.Id == autorizacion.AfiliadoId);
            this.autorizacion = autorizacion;
        }
示例#3
0
        public decimal Balance(int tipoAutorizacionId, string subGrupoId, Autorizacion a, decimal limite)
        {
            var fechas = StaticHelpers.GetRangoAnual(a.Afiliado.FechaAfiliacion, a.FechaServicio);

            AfiliadoService service = new AfiliadoService(new ArsDataContext());

            var fechaInicial = fechas[0];
            var fechaFinal = fechas[1];

            var consumido = a.Afiliado
                .Autorizaciones
                .Where(p => (p.TipoAutorizacionId == tipoAutorizacionId) && p.Disponible && p.FechaServicio >= fechaInicial && p.FechaServicio <= fechaFinal)
                .SelectMany(p => p.Prestaciones.Where(q => (subGrupoId == null) || (q.Prestacion.SubGrupoId == subGrupoId) && q.Disponible))
                .Sum(p => p.Aprobado);

            consumido += a.Prestaciones.Where(p => p.Aprobado > 0).Sum(p => p.Aprobado);

            return limite - consumido < 0 ? 0 : limite - consumido;
        }