public ViewResult Index() { var Prod = _carrito.GetprodCarrito(); _carrito.prodCarrito = Prod; var carritoVM = new CarritoVM { Carrito = _carrito, TotalCarrito = _carrito.GetcarritoTotal() }; return(View(carritoVM)); }
public async Task <IActionResult> Create([Bind("OrdenID,fechaOrden,total,estadoDeOrden,tiendaOnlineUserID,metodoEnvioID,cuponID,tarjetaID, direccionID, sucursalID")] Orden orden) { var items = _carrito.GetprodCarrito(); _carrito.prodCarrito = items; // validar existencia var userId = _userManager.GetUserId(User); var carritoid = _context.Carrito.SingleOrDefault(c => c.tiendaOnlineUserID == userId); var prodCarrito = _context.ProdCarrito .Where(carrito => carrito.CarritoID == carritoid.CarritoID && carrito.IsSelected == true); var existenciaValida = true; //aqui revisa si hay stock disponible foreach (var producto in prodCarrito) { //el stock disponible var existencia = _context.Producto.SingleOrDefault(c => c.ProductoID == producto.productoID).Existencia; //si cantidad seleccionada <= stock disponible if (producto.cantidadProducto > existencia) { existenciaValida = false; return(RedirectToAction("Index", "Home")); } } if ((orden.sucursalID == null && (orden.direccionID == 0 || orden.metodoEnvioID == 0))) { ViewData["direccionID"] = new SelectList(_context.Direccion, "DireccionID", "DireccionID", orden.direccionID); ViewData["tarjetaID"] = new SelectList(_context.Tarjeta, "TarjetaID", "TarjetaID", orden.tarjetaID); ViewData["cuponID"] = new SelectList(_context.Cupon, "CuponID", "CuponID", orden.cuponID); ViewData["metodoEnvioID"] = new SelectList(_context.MetodoEnvio, "MetodoEnvioID", "nombreMetodoEnvio", orden.metodoEnvioID); ViewData["tiendaOnlineUserID"] = new SelectList(_context.Users, "Id", "Id", orden.tiendaOnlineUserID); return(View(orden)); } if (ModelState.IsValid) { // _context.Add(orden); if (orden.direccionID == 0) { orden.direccionID = null; } if (orden.metodoEnvioID == 0) { orden.metodoEnvioID = null; } if (orden.cuponID == 0) { orden.cuponID = null; } if (orden.tarjetaID == 0) { orden.tarjetaID = null; } var user = await _userManager.GetUserAsync(User); orden.tiendaOnlineUserID = user.Id; _orden.CrearOrden(orden); _carrito.GetprodCarrito(); _carrito.VaciarCarrito(); await _context.SaveChangesAsync(); return(Redirect("Thanks")); } ViewData["direccionID"] = new SelectList(_context.Direccion, "DireccionID", "DireccionID", orden.direccionID); ViewData["tarjetaID"] = new SelectList(_context.Tarjeta, "TarjetaID", "TarjetaID", orden.tarjetaID); ViewData["cuponID"] = new SelectList(_context.Cupon, "CuponID", "CuponID", orden.cuponID); ViewData["metodoEnvioID"] = new SelectList(_context.MetodoEnvio, "MetodoEnvioID", "nombreMetodoEnvio", orden.metodoEnvioID); ViewData["tiendaOnlineUserID"] = new SelectList(_context.Users, "Id", "Id", orden.tiendaOnlineUserID); return(View(orden)); }