public async Task <IActionResult> Display(int id) { OrderDisplayModel displayModel = new OrderDisplayModel(); displayModel.Order = await _orderData.GetOrderById(id); if (displayModel.Order != null) { var food = await _foodData.GetFood(); displayModel.ItemPurchased = food.Where(x => x.Id == displayModel.Order.FoodId).FirstOrDefault()?.Title; } return(View(displayModel)); }
public OrderDisplayViewModel(OrderModel order, IMapper mapper, ICallEndpoint callEndpoint, IEventAggregator events) { this.mapper = mapper; this.order = mapper.Map <OrderDisplayModel>(order); this.callEndpoint = callEndpoint; this.events = events; this.newCartLine = new CartLineModel { Quantity = 1, OrderId = order.Id }; IncreaseProductQuantityCommand = new Command(IncreaseProductQuantity, _ => true); ReduceProductQuantityCommand = new Command(ReduceProductQuantity, _ => true); RemoveProductFromCartCommand = new Command(RemoveProductFromCart, _ => true); }
// Edit a specific order summary with Id = id public async Task <IActionResult> EditOrder(int id) { var order = await _order.GetOrderById(id); var table = await _table.GetTableById(order.DiningTableId); var server = await _people.GetPersonById(order.ServerId); OrderDisplayModel displayOrder = new OrderDisplayModel { Id = id, TableNumber = table.TableNumber, Server = server.FullName, SubTotal = order.SubTotal, Tax = order.Tax, Total = order.Total, CreatedDate = order.CreatedDate, BillPaid = order.BillPaid }; return(View(displayOrder)); }
// Update the specific order summary in database public async Task <IActionResult> UpdateOrder(OrderDisplayModel display) { var table = await _table.GetTableByTableNumber(display.TableNumber); string[] fullName = display.Server.Split(" "); var server = await _people.GetPersonByFullName(fullName[0], fullName[1]); OrderModel order = new OrderModel { Id = display.Id, DiningTableId = table.Id, ServerId = server.Id, SubTotal = display.SubTotal, Tax = display.Tax, Total = display.Total, CreatedDate = display.CreatedDate, BillPaid = display.BillPaid }; await _order.UpdateOrder(order); return(RedirectToAction("ViewOrders")); }