public async Task <RSOrderItem> AddOrderItem(int id, [FromBody] int productId) { RSOrder order = await db.Orders.FindAsync(id); if (!order.Active) //Disallow editing closed orders { return(null); } RSProduct product = await db.Products.FindAsync(productId); if (order != null && product != null) { RSOrderItem oi = new RSOrderItem(product, order); db.OrderItems.Add(oi); await db.SaveChangesAsync(); return(new RSOrderItem() { Id = oi.Id, Price = oi.Price, State = oi.State, Product = oi.Product != null ? new RSProduct() { Id = oi.Product.Id, Title = oi.Product.Title } : null }); } else { return(null); } }
public async Task <ActionResult> DeleteConfirmed(int id) { RSProduct rSProduct = await db.Products.FindAsync(id); db.Products.Remove(rSProduct); await db.SaveChangesAsync(); return(RedirectToAction("Index")); }
public async Task <ActionResult> Edit(RSProduct rSProduct) { if (ModelState.IsValid) { db.Entry(rSProduct).State = System.Data.Entity.EntityState.Modified; await db.SaveChangesAsync(); return(RedirectToAction("Index")); } return(View(rSProduct)); }
public async Task <ActionResult> Create(RSProduct rSProduct) { if (ModelState.IsValid) { db.Products.Add(rSProduct); await db.SaveChangesAsync(); return(RedirectToAction("Index")); } return(View(rSProduct)); }
// GET: Products/Delete/5 public async Task <ActionResult> Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } RSProduct rSProduct = await db.Products.FindAsync(id); if (rSProduct == null) { return(HttpNotFound()); } return(View(rSProduct)); }
private async void navProductMenu_ProductSelected(RSProduct product) { RSOrderItem orderItem = await Service.AddOrderItem(order.Id, product.Id); if (orderItem != null) { order.Items.Add(orderItem); lstOrderItems.ItemsSource = order.Items.Where(oi => oi.State < 2); } else { MessageDialog md = new MessageDialog("Položku nelze přidat.", "Přidání položky"); await md.ShowAsync(); } }
// GET: Products/Details/5 public async Task <ActionResult> Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } RSProduct rSProduct = await db.Products.Include(p => p.Stocks).SingleOrDefaultAsync(p => p.Id == id); if (rSProduct == null) { return(HttpNotFound()); } return(View(rSProduct)); }
public async Task <ActionResult> RemoveStock(int id, int stockId) { RSStockItem stock = await db.StockItems.FindAsync(stockId); RSProduct product = await db.Products.FindAsync(id); if (stock != null && product != null) { if (product.Stocks.Remove(stock)) { db.StockItems.Remove(stock); await db.SaveChangesAsync(); return(Json(true)); } } throw new HttpException(400, "Error removing item"); }
public async Task <ActionResult> AddProduct(int id, int productId) { RSProduct product = await db.Products.FindAsync(productId); RSOrder order = await db.Orders.FindAsync(id); if (product != null && order != null) { RSOrderItem orderItem = new RSOrderItem(product, order); db.OrderItems.Add(orderItem); await db.SaveChangesAsync(); return(Json(true)); } else { throw new HttpException(400, "Error inserting OrderItem"); } }
public async Task <ActionResult> AddStock(int id, int stockId, double amount) { RSStock stock = await db.Stocks.FindAsync(stockId); RSProduct product = await db.Products.FindAsync(id); if (stock != null && product != null) { RSStockItem stockItem = new RSStockItem(); stockItem.Amount = amount; stockItem.Stock = stock; stockItem.Product = product; db.StockItems.Add(stockItem); await db.SaveChangesAsync(); return(Json(true)); } else { throw new HttpException(400, "Error inserting item"); } }