예제 #1
0
        internal static List <Pago> CrearCuotas(SMPorresEntities db, PlanPago planPago, int modalidad)
        {
            //leer modalidad y obtener minCuota y maxCuota
            short minC   = CursosRepository.ObtieneMinCuota(modalidad);
            short maxC   = CursosRepository.ObtieneMaxCuota(modalidad);
            var   result = new List <Pago>();

            if (minC != maxC)
            {
                var curso  = CursosRepository.ObtenerCursoPorId(planPago.IdCurso);
                var cuotas = from c in CuotasRepository.ObtenerCuotasActuales()
                             select new { c.NroCuota, c.VtoCuota };
                for (short i = minC; i <= maxC; i++)
                {
                    var p = new Pago();
                    p.Id           = db.Pagos.Any() ? db.Pagos.Max(p1 => p1.Id) + 1 : 1;
                    p.IdPlanPago   = planPago.Id;
                    p.NroCuota     = i;
                    p.ImporteCuota = (i == 0) ? curso.ImporteMatricula : curso.ImporteCuota;
                    p.Estado       = (byte)EstadoPago.Impago;
                    p.FechaVto     = cuotas.First(c => c.NroCuota == i).VtoCuota;
                    db.Pagos.Add(p);
                    db.SaveChanges();
                    result.Add(p);
                }
            }
            return(result);
        }
예제 #2
0
        private string CargarPróxVencimiento()
        {
            var prox = CuotasRepository.ObtenerCuotasActuales()
                       .FirstOrDefault(c => c.VtoCuota >= Configuration.CurrentDate.Date);

            if (prox != null)
            {
                return("El próximo vencimiento de cuota es el día " + prox.VtoCuota.ToShortDateString() + ".");
            }
            else
            {
                return("No tiene cuotas próximas a vencer.");
            }
        }
예제 #3
0
 internal static void GeneraNuevaCuotaDeMatricula(int idPlanPago, int i, decimal importeCuota)
 {
     using (var db = new SMPorresEntities())
     {
         var p = new Pago();
         p.Id           = db.Pagos.Any() ? db.Pagos.Max(p1 => p1.Id) + 1 : 1;
         p.IdPlanPago   = idPlanPago;
         p.NroCuota     = (short)i;
         p.ImporteCuota = importeCuota;
         p.Estado       = (byte)EstadoPago.Impago;
         p.FechaVto     = (from c in CuotasRepository.ObtenerCuotasActuales()
                           where c.NroCuota == 0
                           select c.VtoCuota).First();
         db.Pagos.Add(p);
         db.SaveChanges();
     }
 }
예제 #4
0
 internal static void GeneraNuevaCuota(int idPlanPago, int i, Curso curso)
 {
     using (var db = new SMPorresEntities())
     {
         var p = new Pago();
         p.Id           = db.Pagos.Any() ? db.Pagos.Max(p1 => p1.Id) + 1 : 1;
         p.IdPlanPago   = idPlanPago;
         p.NroCuota     = (short)i;
         p.ImporteCuota = (i == 0) ? curso.ImporteMatricula : curso.ImporteCuota;
         var vto = (from c in CuotasRepository.ObtenerCuotasActuales()
                    where c.NroCuota == Convert.ToInt16(i)
                    select c.VtoCuota).First();
         p.FechaVto = vto;
         p.Estado   = (byte)EstadoPago.Impago;
         db.Pagos.Add(p);
         db.SaveChanges();
     }
 }
예제 #5
0
        internal static Pago CrearMatrícula(SMPorresEntities db, PlanPago planPago)
        {
            var p = new Pago();

            p.Id         = db.Pagos.Any() ? db.Pagos.Max(p1 => p1.Id) + 1 : 1;
            p.IdPlanPago = planPago.Id;
            p.NroCuota   = 0;
            var curso = CursosRepository.ObtenerCursoPorId(planPago.IdCurso);

            p.ImporteCuota = curso.ImporteMatricula;
            var vto = (from c in CuotasRepository.ObtenerCuotasActuales()
                       where c.NroCuota == 0
                       select c.VtoCuota).First();

            p.FechaVto = vto;
            p.Estado   = (byte)EstadoPago.Impago;
            db.Pagos.Add(p);
            db.SaveChanges();
            return(p);
        }