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