public ActionResult DetalleProducto(string codigoProducto) { DetalleProductoViewModel objViewModel = new DetalleProductoViewModel(); objViewModel.Fill(codigoProducto); return(View("DetalleProducto", "_Layout", objViewModel)); }
public void Fill() { DetalleProductoViewModel objViewModel = new DetalleProductoViewModel(); objViewModel.Fill("P01231"); Assert.IsNull(objViewModel.objProducto); }
public void FillFlujoAlternativo() { DetalleProductoViewModel objViewModel = new DetalleProductoViewModel(); objViewModel.Fill("dfsdf"); Assert.IsNull(objViewModel.objProducto); }
// GET: Productos/Details/5 public async Task <ActionResult> Detalle(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var producto = db.Productos.Include(p => p.Category).Include(p => p.Unidades).Where(p => p.IdProducto == id).First(); if (producto == null) { return(HttpNotFound()); } var imagenes = db.ImagenesProductos.Where(p => p.IdProducto == id).ToList(); var data = new DetalleProductoViewModel { producto = producto, imagenesProducto = imagenes, Cantidad = 1 }; return(View(data)); }
public JsonResult SePuedeDarSalida(DetalleProductoViewModel producto) { return(_centroDeCostoService.PuedeDarSalida(producto.ProductoId, producto.CentroCostoId, producto.Cantidad, producto.UnidadId) ? Json(true, JsonRequestBehavior.AllowGet) : Json(false, JsonRequestBehavior.AllowGet)); }
public async Task <ActionResult> Add(DetalleProductoViewModel model, int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var producto = await db.Productos.FindAsync(id); if (producto == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } string usuario = null; if (User.Identity.IsAuthenticated) { usuario = User.Identity.GetUserId(); } else { if (Session["UniqueIdUserAnonimo"] == null) { usuario = Guid.NewGuid().ToString(); Session["UniqueIdUserAnonimo"] = usuario; } else { usuario = (string)Session["UniqueIdUserAnonimo"]; } } var verificar = db.Carritoes.Where(x => x.IdProducto == id && x.UsuarioId == usuario).SingleOrDefault(); if (producto.ProductStock > 0 && producto.ProductStock >= model.Cantidad) { if (verificar != null) { var addCarrito = new Carrito { CarritoId = verificar.CarritoId, CarritoCantidad = verificar.CarritoCantidad + model.Cantidad, FechaAgregado = DateTime.Now, IdProducto = (int)id, UsuarioId = usuario }; db.Set <Carrito>().AddOrUpdate(addCarrito); await db.SaveChangesAsync(); //actualizar a cantidad de la carretilla si ya existe un producto agregado } else { var addCarrito = new Carrito { CarritoCantidad = model.Cantidad, FechaAgregado = DateTime.Now, IdProducto = (int)id, UsuarioId = usuario }; db.Carritoes.Add(addCarrito); await db.SaveChangesAsync(); } var prod = await db.Productos.FindAsync(id); var updateProducto = new Productos { IdProducto = prod.IdProducto, CategoryKey = prod.CategoryKey, ProductoImagenes = prod.ProductoImagenes, ProductoTitulo = prod.ProductoTitulo, ProductoPrecio = prod.ProductoPrecio, ProductStock = prod.ProductStock - model.Cantidad, ProdutoDescripcion = prod.ProdutoDescripcion, UnidadesId = prod.UnidadesId }; db.Set <Productos>().AddOrUpdate(updateProducto); await db.SaveChangesAsync(); } else { return(RedirectToAction("Index", "Home", new { msg = "Stock Insuficiente" })); } return(RedirectToAction("Index", "Home", new { msg = "Producto añadido al carrito" })); }