Ejemplo n.º 1
0
        private static PlanPago CrearPlanPago(SMPorresEntities db, int idAlumno, int idCurso,
                                              short porcentajeBeca, int modalidad, TipoBeca tipoBeca)
        {
            var curso = CursosRepository.ObtenerCursoPorId(idCurso);
            var plan  = new PlanPago
            {
                Id       = db.PlanesPago.Any() ? db.PlanesPago.Max(c1 => c1.Id) + 1 : 1,
                IdAlumno = idAlumno,
                IdCurso  = idCurso,
                //Curso = curso,
                CantidadCuotas  = CursosRepository.ObtieneMaxCuota(modalidad), //Configuration.MaxCuotas,
                NroCuota        = CursosRepository.ObtieneMinCuota(modalidad), //1,
                ImporteCuota    = curso.ImporteCuota,
                PorcentajeBeca  = porcentajeBeca,
                TipoBeca        = (byte)tipoBeca,
                Estado          = (short)EstadoPlanPago.Vigente,
                IdUsuarioEstado = Session.CurrentUser.Id,
                FechaGrabacion  = Configuration.CurrentDate,
                IdUsuario       = Session.CurrentUser.Id,
                Modalidad       = modalidad //curso.Modalidad
            };

            db.PlanesPago.Add(plan);
            db.SaveChanges();
            return(plan);
        }
Ejemplo n.º 2
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);
        }
Ejemplo n.º 3
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);
        }