public JsonResult RegistrarPagos2(string monto, string pend) { double m1; if (double.TryParse(monto, out m1) == false) return Json("monto invalido", JsonRequestBehavior.AllowGet); double m = double.Parse(monto); double pend1 = double.Parse(pend); if (m <= 0) { return Json("monto ingresado debe ser mayor que 0", JsonRequestBehavior.AllowGet); } if (m > pend1) return Json("monto ingresado debe ser menor o igual al monto pendiente", JsonRequestBehavior.AllowGet); Organizador org = (Organizador)Session["orgPago2"]; m1 = m; int codE = 1; if (Session["EventoSeleccionadoPago2"] != null) codE = (int)Session["EventoSeleccionadoPago2"]; Eventos ev = db.Eventos.Find(codE); Pago pg = new Pago(); pg.codEvento = ev.codigo; pg.codOrg = org.codOrg; //Pago pl = db.Pago.ToList().Last(); //pg.codPago = pl.codPago + 1; pg.descripcion = "Pago hecho por el " + org.nombOrg; pg.fecha = DateTime.Now; pg.monto = -m; db.Pago.Add(pg); db.SaveChanges(); List<Pago> listP = db.Pago.Where(c => c.codOrg == org.codOrg && c.monto < 0).ToList(); Session["Pagos2"] = listP; Session["Pendiente2"] = (double)Session["Pendiente2"] - m1; return Json("Pago Registrado", JsonRequestBehavior.AllowGet); }
public JsonResult RegistrarPagos(string monto, string pend) { double m1; if (double.TryParse(monto, out m1) == false) return Json("monto invalido", JsonRequestBehavior.AllowGet); double m = double.Parse(monto); double pend1 = double.Parse(pend); if (m <= 0) { return Json("monto ingresado debe ser mayor que 0", JsonRequestBehavior.AllowGet); } if (m > pend1) return Json("monto ingresado debe ser menor o igual al monto pendiente", JsonRequestBehavior.AllowGet); //if (m <= 0) return RedirectToAction("Pago", "Ventas"); //if (monto == "" || monto == null) return RedirectToAction("Pago", "Ventas"); //List<Eventos> listEp = (List<Eventos>)Session["EventosP"]; Organizador org = (Organizador)Session["orgPago"]; m1 = m; int codE = 1; if (Session["EventoSeleccionadoPago"] != null) codE = (int)Session["EventoSeleccionadoPago"]; Eventos ev = db.Eventos.Find(codE); //for (int i = 0; i < listEp.Count; i++) //{ // if (m == 0) break; while (m != 0) { if (pend1 < m) { db.Entry(ev).State = EntityState.Modified; ev.monto_transferir = ev.monto_adeudado; Pago pg = new Pago(); pg.codEvento = ev.codigo; pg.codOrg = org.codOrg; //Pago pl = db.Pago.ToList().Last(); //pg.codPago = pl.codPago + 1; pg.descripcion = "Pago hecho ha " + org.nombOrg; //pg.Eventos = listEp[i]; pg.fecha = DateTime.Now; pg.monto = pend1; db.Pago.Add(pg); db.SaveChanges(); m -= pend1; } else { db.Entry(ev).State = EntityState.Modified; ev.monto_transferir = ev.monto_transferir + m; //db.SaveChanges(); Pago pg = new Pago(); pg.codEvento = ev.codigo; pg.codOrg = org.codOrg; //Pago pl = db.Pago.ToList().Last(); //pg.codPago = pl.codPago + 1; pg.descripcion = "Pago hecho ha " + org.nombOrg; //pg.Eventos = listEp[i]; pg.fecha = DateTime.Now; pg.monto = m; //pg.Organizador = org; db.Pago.Add(pg); db.SaveChanges(); m = 0; } } List<Pago> listP = db.Pago.Where(c => c.codOrg == org.codOrg && c.monto > 0).ToList(); Session["Pagos"] = listP; Session["Pendiente"] = (double)Session["Pendiente"] - m1; //double subtotal; //List<Eventos> listEv = db.Eventos.AsNoTracking().Where(c => c.idOrganizador == org.codOrg).ToList(); //List<Eventos> listEpa = new List<Eventos>(); //for (int i = 0; i < listEv.Count; i++) //{ // subtotal = (double)listEv[i].monto_adeudado - (double)listEv[i].monto_transferir; // if (subtotal > 0) // { // listEpa.Add(listEv[i]); // } //} //Session["EventosP"] = listEpa; return Json("Pago Registrado", JsonRequestBehavior.AllowGet); }