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