Exemplo 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);
        }
Exemplo 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);
        }
Exemplo n.º 3
0
 internal static void ActualizarNroyCantidadCuotas(int id, int modalidad)
 {
     using (var db = new SMPorresEntities())
     {
         var pp = db.PlanesPago.Find(id);
         pp.NroCuota       = CursosRepository.ObtieneMinCuota(modalidad);
         pp.CantidadCuotas = CursosRepository.ObtieneMaxCuota(modalidad);
         db.SaveChanges();
     }
 }
Exemplo n.º 4
0
        private static void EliminaCuotas(int?modActual, int idPlanPago)
        {
            var minC = CursosRepository.ObtieneMinCuota(modActual);
            var maxC = CursosRepository.ObtieneMaxCuota(modActual);

            for (int i = minC; i <= maxC; i++)
            {
                PagosRepository.EliminarCuotaGenerada(i, idPlanPago);
            }
        }
Exemplo n.º 5
0
        private static void GeneraCuotas(int modalidad, int idPlanPago, Curso curso)
        {
            var minC = CursosRepository.ObtieneMinCuota(modalidad);
            var maxC = CursosRepository.ObtieneMaxCuota(modalidad);

            for (int i = minC; i <= maxC; i++)
            {
                PagosRepository.GeneraNuevaCuota(idPlanPago, i, curso);
            }
        }
Exemplo n.º 6
0
        private static bool PagosRegistrados(int planPago, int modalidad)
        {
            bool pagos = false;
            var  minC  = CursosRepository.ObtieneMinCuota(modalidad);
            var  maxC  = CursosRepository.ObtieneMaxCuota(modalidad);

            using (var db = new SMPorresEntities())
            {
                var p = db.Pagos.Where(x =>
                                       x.IdPlanPago == planPago &
                                       x.ImportePagado > 0 &
                                       x.NroCuota >= minC &
                                       x.NroCuota <= maxC);
                if (p.Any())
                {
                    pagos = true;
                }
            }
            return(pagos);
        }