// GET: RestaurantHome public async Task <ActionResult> Home(int id) { RestaurantOrderModel model = new RestaurantOrderModel(); Session["Restaurant"] = await _proxy.GetRestaurantWithMenuAsync(id); return(View("Home", model)); }
// GET add item to cart public async Task <ActionResult> HomeCart(int resId, int orderId, int itemId) { _orderProxy.AddItemToOrder(orderId, itemId, resId); var model = new RestaurantOrderModel(); Session["Restaurant"] = await _proxy.GetRestaurantWithMenuAsync(resId); return(RedirectToAction("HomeModel", model)); }
// POST Reserve a table and add orderId to SessionId public async Task <ActionResult> ReserveTable(RestaurantOrderModel order) { try { var errors = ModelState.Values.SelectMany(v => v.Errors); if (errors.Count() > 1) { return(View("ReserveTable", order)); } var res = (Restaurant)Session["Restaurant"]; Session["orderId"] = await _proxy.ReserveTablesAsync(res.Id, order.NoSeats, order.ReserveDateTime); return(RedirectToAction("HomeModel", order)); } catch { return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError)); } }
// GET Home menu with RestaurantOrderModel parameter public ActionResult HomeModel(RestaurantOrderModel model) { return(View("Home", model)); }