public ActionResult AddPresentacion(int idPresentacion = 0, int cantidad = 0) { List <Presentacion_Pedido> lista = Session["Presentaciones"] as List <Presentacion_Pedido>; if (lista == null) { lista = new List <Presentacion_Pedido>(); } var item = lista.Find(p => p.IdPresentacion == idPresentacion); if (item != null) { item.Cantidad += cantidad; } else { var presentacion = db.Presentacion.Find(idPresentacion); var presPedido = new Presentacion_Pedido() { Cantidad = cantidad, IdPresentacion = idPresentacion, Presentacion = presentacion }; lista.Add(presPedido); } return(PartialView("PresentacionesPartial", Session["Presentaciones"])); }
// // GET: /Pedido/Edit/5 public ActionResult Edit(int id = 0) { Pedido pedido = db.Pedido.Find(id); if (pedido == null) { return(HttpNotFound()); } ViewBag.IdFarmacia = new SelectList(db.Farmacia, "Id", "RUC", pedido.IdFarmacia); ViewBag.Farmacia = db.Farmacia.Find(pedido.IdFarmacia); ViewBag.IdProveedor = new SelectList(db.Proveedor, "Id", "Nombre", pedido.IdProveedor); ViewBag.IdEstado = new SelectList(db.Estado.Where(e => e.Pedido1.Value), "Id", "Nombre", pedido.IdEstado); ViewBag.IdFormaPago = new SelectList(db.FormaPago, "Id", "Nombre", pedido.IdFormaPago); var presentaciones = db.Presentacion.AsEnumerable(); var modelPresentaciones = from p in presentaciones select new PresentacionViewModel() { Id = p.Id, NombreMostrar = string.Format("{0} - {1}", p.Producto.Nombre, p.Nombre) }; ViewBag.IdPresentacion = new SelectList(modelPresentaciones, "Id", "NombreMostrar"); //Session["Presentaciones"] = pedido.Presentacion_Pedido.ToList(); var listPresentaciones = pedido.Presentacion_Pedido.ToList(); var listaSession = new List <Presentacion_Pedido>(); foreach (var item in listPresentaciones) { var pres = new Presentacion_Pedido() { IdPresentacion = item.IdPresentacion, Presentacion = item.Presentacion, Cantidad = item.Cantidad, IdCampania = item.IdCampania, Campania = item.Campania == null ? null : new Campania() { Id = item.Campania.Id, Nombre = item.Campania.Nombre } }; listaSession.Add(pres); } Session["Presentaciones"] = listaSession; ViewBag.Presentaciones = Session["Presentaciones"]; var listaCampanias = db.Campania.Where(c => c.Vigente.Value).ToList(); ViewBag.Campanias = listaCampanias.Count > 0 ? listaCampanias : new List <Campania>(); pedido.Presentacion_Pedido = null; return(View(pedido)); }