// GET: Pagoes public ActionResult Index() { var pagos = (from p in db.Pagos where p.Estado == 1 orderby p.Total descending select p).ToList(); var pagosMora = (from p in db.Pagos join m in db.MoraClientes on p.ClienteId equals m.ClienteId where m.Estado == 1 select m).ToList(); var pagos_pendientes = new List <PagosView>(); foreach (var item in pagos) { var pago = new PagosView { Id = item.Id, Lectura_Id = item.Lectura_Id, ClienteId = item.ClienteId, Numero_Factura = Convert.ToInt32(item.Numero_Factura), Lectura_Anterior = item.Lectura_Anterior, Lectura_Actual = item.Lectura_Actual, Consumo = item.Consumo, Cuota_Fija = item.Cuota_Fija, Mes_Atrasado = item.Mes_Atrasado, Mora = item.Mora, Total = item.Total, Fecha_Lectura = item.Fecha_Lectura, Fecha_Pago = Convert.ToDateTime(item.Fecha_Pago), Estado = item.Estado, Fecha_Registro = item.Fecha_Registro, NombreCliente = item.Cliente.Nombre_Completo }; var existe = (from p in pagos_pendientes where p.ClienteId == item.ClienteId select p).FirstOrDefault(); var existeMora = (from m in pagosMora where m.Idpago == item.Id && m.Estado == 1 select m).FirstOrDefault(); if (existe == null && existeMora == null) { pagos_pendientes.Add(pago); } } return(View(pagos_pendientes.ToList())); }
// GET: Pagoes/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Pago pago = db.Pagos.Find(id); PagosView pagosfecha = new PagosView(); var fechaPago = (from fp in db.Tbl_Fechas where fp.Mes == DateTime.Now.Month && fp.Anio == DateTime.Now.Year select fp.Fecha_Pago).FirstOrDefault(); var fechaVencimiento = (from fp in db.Tbl_Fechas where fp.Mes == DateTime.Now.Month && fp.Anio == DateTime.Now.Year select fp.Fecha_Vencimiento).FirstOrDefault(); pagosfecha.Id = pago.Id; pagosfecha.Lectura_Id = pago.Lectura_Id; pagosfecha.ClienteId = pago.ClienteId; pagosfecha.Numero_Factura = Convert.ToInt32(pago.Numero_Factura); pagosfecha.Lectura_Anterior = pago.Lectura_Anterior; pagosfecha.Lectura_Actual = pago.Lectura_Actual; pagosfecha.Consumo = pago.Consumo; pagosfecha.Cuota_Fija = pago.Cuota_Fija; pagosfecha.Mes_Atrasado = pago.Mes_Atrasado; pagosfecha.Mora = pago.Mora; pagosfecha.Total = pago.Total; pagosfecha.Fecha_Lectura = pago.Fecha_Lectura; pagosfecha.Estado = pago.Estado; pagosfecha.Fecha_Registro = pago.Fecha_Registro; pagosfecha.Fecha_Pago = Convert.ToDateTime(fechaPago); pagosfecha.Fecha_Vencimiento = Convert.ToDateTime(fechaVencimiento); pagosfecha.NombreCliente = pago.Cliente.Nombre_Completo; if (pago == null) { return(HttpNotFound()); } return(View(pagosfecha)); }
public ActionResult GenerarMora() { var pagos = (from p in db.Pagos where p.Estado == 1 orderby p.Total descending select p).ToList(); var pagosMora = (from p in db.Pagos join m in db.MoraClientes on p.ClienteId equals m.ClienteId where m.Estado == 1 select m).ToList(); var pagos_pendientes = new List <PagosView>(); foreach (var item in pagos) { var pago = new PagosView { Id = item.Id, Lectura_Id = item.Lectura_Id, ClienteId = item.ClienteId, Numero_Factura = Convert.ToInt32(item.Numero_Factura), Lectura_Anterior = item.Lectura_Anterior, Lectura_Actual = item.Lectura_Actual, Consumo = item.Consumo, Cuota_Fija = item.Cuota_Fija, Mes_Atrasado = item.Mes_Atrasado, Mora = item.Mora, Total = item.Total, Fecha_Lectura = item.Fecha_Lectura, Fecha_Pago = Convert.ToDateTime(item.Fecha_Pago), Estado = item.Estado, Fecha_Registro = item.Fecha_Registro, NombreCliente = item.Cliente.Nombre_Completo }; var existe = (from p in pagos_pendientes where p.ClienteId == item.ClienteId select p).FirstOrDefault(); var existeMora = (from m in pagosMora where m.Idpago == item.Id && m.Estado == 1 select m).FirstOrDefault(); if (existe == null && existeMora == null) { pagos_pendientes.Add(pago); } } var pagoMora = (from p in db.Configuraciones select p.Mora).FirstOrDefault(); foreach (var pago in pagos_pendientes) { var moraCliente = (from m in db.MoraClientes where m.ClienteId == pago.ClienteId && m.Estado == 1 select m).FirstOrDefault(); if (moraCliente != null) { int meses = Convert.ToInt32(moraCliente.Meses); moraCliente.Meses = meses + 1; db.Entry(moraCliente).State = EntityState.Modified; db.SaveChanges(); } else { MoraCliente mora = new MoraCliente(); mora.ClienteId = pago.ClienteId; mora.Meses = 1; mora.Total = pagoMora; mora.Estado = 1; mora.Fecha_Registro = DateTime.Now; mora.Idpago = pago.Id; db.MoraClientes.Add(mora); db.SaveChanges(); } } return(RedirectToAction("Index")); }