public virtual IActionResult Edit(Guid id) { if (!_permissionService.Authorize(XrmsPermissionProvider.ManageWaiterOrders)) { return(AccessDeniedView()); } var order = _currentOrderService.GetOrderByGuid(id); if (order == null) { // no order found with the specified id return(RedirectToAction("List")); } var viewModel = new WaiterOrderDetailsPageViewModel(); // prepare view model viewModel.OrderView.AggregateId = order.AggregateId; viewModel.OrderView.Version = order.Version; viewModel.OrderView.Id = order.Id; viewModel.OrderView.TableId = order.TableId; viewModel.OrderView.TableName = order.Table.Name; PrepareAvailableTables(viewModel); return(View("~/Plugins/Xrms/Areas/Admin/Views/WaiterOrder/Edit.cshtml", viewModel)); }
public virtual IActionResult Create() { if (!_permissionService.Authorize(XrmsPermissionProvider.ManageWaiterOrders)) { return(AccessDeniedView()); } var viewModel = new WaiterOrderDetailsPageViewModel(); // prepare view model PrepareAvailableTables(viewModel); return(View("~/Plugins/Xrms/Areas/Admin/Views/WaiterOrder/Create.cshtml", viewModel)); }
protected virtual void PrepareAvailableTables(WaiterOrderDetailsPageViewModel model) { if (model == null) { throw new ArgumentNullException(nameof(model)); } var tables = _tableService.GetAllTables(showHidden: true); var list = tables.Where(result => result.State == TableState.Free || result.Id == model.OrderView.TableId).Select(t => new SelectListItem { Text = t.Name, Value = t.Id.ToString() }); foreach (var item in list) { model.OrderView.AvailableTables.Add(item); } }