public async Task <IActionResult> PutFoodItem(int id, FoodItem foodItem) { if (id != foodItem.FoodItemId) { return(BadRequest()); } _context.Entry(foodItem).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!FoodItemExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <IActionResult> PutCustomer(int id, Customer customer) { if (id != customer.CustomerId) { return(BadRequest()); } _context.Entry(customer).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!CustomerExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <IActionResult> PutOrder(int id, Order order) { try { var ord = _context.orders.Where(p => p.OrderId == order.OrderId).Include(p => p.OrderItem).SingleOrDefault(); if (ord != null) { //update order _context.Entry(ord).CurrentValues.SetValues(order); // Delete children foreach (var existingOrdItem in ord.OrderItem.ToList()) { if (!order.OrderItem.Any(c => c.OrderItemId == existingOrdItem.OrderItemId)) { _context.OrderItems.Remove(existingOrdItem); } } //update and insert orderitem foreach (var orderItemModel in order.OrderItem) { var ordItem = ord.OrderItem.Where(c => c.OrderItemId == orderItemModel.OrderItemId).SingleOrDefault(); if (ordItem != null) { //update orderitem _context.Entry(ordItem).CurrentValues.SetValues(orderItemModel); } else { //insert orderitem var newitem = new OrderItem { OrderItemId = orderItemModel.OrderItemId, Quantity = orderItemModel.Quantity, Amount = orderItemModel.Amount, FoodItemId = orderItemModel.FoodItemId, }; ord.OrderItem.Add(newitem); } } await _context.SaveChangesAsync(); } } catch (DbUpdateConcurrencyException) { if (!OrderExists(id)) { return(NotFound()); } else { throw; } } return(Ok()); }
public async Task <ActionResult <Order> > PostOrder(Order order) { _context.Order.Add(order); await _context.SaveChangesAsync(); return(CreatedAtAction("GetOrder", new { id = order.OrderId }, order)); }