コード例 #1
0
        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));
        }
コード例 #2
0
        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));
        }
コード例 #3
0
        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);
            }
        }