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