// // GET: /Index/Add/1 public ActionResult Add(int id, Pedidos pedido) { Libros libro = (from l in db.Libros where l.Isbn == id select l).First(); if (libro != null) { // HashSet<LineasPedido> lineasPedidos= (HashSet<LineasPedido>) libro.LineasPedido; bool encontrado = false; foreach (LineasPedido linea in pedido.LineasPedido) { if (linea.Libros.Isbn == id) { linea.Cantidad++; encontrado = true; } } if (!encontrado) { LineasPedido nuevaLinea = new LineasPedido(); nuevaLinea.Cantidad = 1; nuevaLinea.Libro_Isbn = libro.Isbn; nuevaLinea.Libros = libro; nuevaLinea.Pedidos = pedido; pedido.LineasPedido.Add(nuevaLinea); } } return RedirectToAction("Pedido", "Home", null); }
public object BindModel(ControllerContext cc, ModelBindingContext mbc) { Pedidos p = (Pedidos)cc.HttpContext.Session[_key]; if (p == null) { p = new Pedidos(); cc.HttpContext.Session[_key] = p; } return p; }
public ActionResult Create(Pedidos pedidos) { if (ModelState.IsValid) { db.Pedidos.Add(pedidos); db.SaveChanges(); return RedirectToAction("Index"); } return View(pedidos); }
public ActionResult Confirmar(ConfirmarViewModel confirmarVM, Pedidos pedido) { if (!ModelState.IsValid) { return View(confirmarVM); } Pedidos pedidoPersistir = new Pedidos(); pedidoPersistir.Nombre = confirmarVM.Nombre; pedidoPersistir.Direccion = confirmarVM.Direccion; pedidoPersistir.Total = 100; db.Pedidos.Add(pedidoPersistir); db.SaveChanges(); decimal total = 0; foreach (LineasPedido linea in pedido.LineasPedido) { LineasPedido lp = new LineasPedido(); lp.Cantidad = linea.Cantidad; lp.Libro_Isbn = linea.Libros.Isbn; lp.PedidoLineaPedido_LineaPedido_Id = pedidoPersistir.Id; db.LineasPedido.Add(lp); total += linea.Libros.Precio * linea.Cantidad; } pedidoPersistir.Total = total; // db.Pedidos.Add(pedidoPersistir); db.SaveChanges(); Session.Remove("carrito"); return View("ConfirmarOk", pedidoPersistir); }
// // GET: /Index/Pedido public ActionResult Pedido(Pedidos pedido) { return View(pedido.LineasPedido.ToList()); }
public ActionResult Vaciar(Pedidos pedido) { pedido.LineasPedido.Clear(); return RedirectToAction("Pedido", "Home", null); }