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); }
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); }
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(); } }
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); } }
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); } }
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); }