// GET: AdminArea/Items/Create public ActionResult Create() { AddItemVM model = new AddItemVM(); model.categories = db.categories.ToList(); return(View(model)); }
public IHttpActionResult PostAddItem(AddItemVM vm) { var userId = User.Identity.GetUserId(); if (_unit.User.IsSeat(userId) || _unit.User.IsCustomer(userId)) { _unit.Customer.postAddItem(userId, 0, vm); return(Ok()); } return(Unauthorized()); }
public void postAddItem(string id, int restaurantId, AddItemVM vm) { int SeatInfoId = _db.Users.Where(u => u.Id == id).FirstOrDefault().SeatInfo.Id; Order order = _db.Orders.Where(o => o.SeatInfoId == SeatInfoId && !o.IsRetired && o.TimeOrdered == null).FirstOrDefault(); if (order == null) { order = new Order { SeatInfoId = SeatInfoId, RestaurantId = restaurantId, ConvenienceFee = 4m }; if (RestaurantOutOfArea(id, restaurantId)) { order.OutOfAreaFee = 2m; } _db.Orders.Add(order); } else { if (restaurantId != 0 && order.RestaurantId != restaurantId) { order.IsRetired = true; order = new Order { SeatInfoId = SeatInfoId, RestaurantId = restaurantId }; _db.Orders.Add(order); } else if (vm != null) { if (vm.PersDesc != null) { order.PersDesc = vm.PersDesc; } if (vm.ReceiptEmail != null) { order.ReceiptEmail = vm.ReceiptEmail; } if (vm.ItemId > 0) { OrderItem orderItem = _db.OrderItems.Where(i => i.ItemId == vm.ItemId && i.OrderId == order.Id).FirstOrDefault(); if (orderItem == null) { orderItem = new OrderItem { ItemId = vm.ItemId, Quantity = vm.Quantity, OrderId = order.Id }; if (vm.Quantity <= 0) { orderItem.Quantity = 1; } _db.OrderItems.Add(orderItem); } else { if (orderItem.IsRetired) { orderItem.IsRetired = false; orderItem.Quantity = 1; } else if (vm.Quantity > 0) { orderItem.Quantity = vm.Quantity; } else { orderItem.Quantity++; } } } if (vm.RemoveItemId > 0) { order.OrderItems.Where(o => o.ItemId == vm.RemoveItemId).FirstOrDefault().IsRetired = true; } if (vm.SubmitOrder) { order.TimeOrdered = DateTime.Now; } order.IsRetired = vm.IsRetired; } } _db.SaveChanges(); if (order.OrderItems != null) { updateTotals(id); } }