private void ActivateResourceScreen(ResourceScreen resourceScreen)
        {
            if (!_applicationState.IsLocked)
            {
                _applicationStateSetter.SetSelectedResourceScreen(resourceScreen);
            }

            if (resourceScreen != null)
            {
                if (resourceScreen.DisplayMode == 2)
                {
                    ActivateResourceSearcher(resourceScreen);
                }
                else if (resourceScreen.DisplayMode == 1)
                {
                    ActivateDashboard(resourceScreen);
                }
                else
                {
                    ActivateButtonSelector(resourceScreen);
                }
            }

            RaisePropertyChanged(() => ResourceSwitcherButtons);
            ResourceSwitcherButtons.ForEach(x => x.Refresh());
        }
        public void UpdateResourceScreenItems(ResourceScreen resourceScreen, int pageNo)
        {
            if (resourceScreen == null)
            {
                return;
            }

            IEnumerable <int> set;

            if (resourceScreen.PageCount > 1)
            {
                set = resourceScreen.ScreenItems
                      .OrderBy(x => x.Order)
                      .Skip(pageNo * resourceScreen.ItemCountPerPage)
                      .Take(resourceScreen.ItemCountPerPage)
                      .Select(x => x.ResourceId);
            }
            else
            {
                set = resourceScreen.ScreenItems.OrderBy(x => x.Order).Select(x => x.ResourceId);
            }

            using (var w = WorkspaceFactory.CreateReadOnly())
            {
                var ids    = w.Queryable <ResourceStateValue>().Where(x => set.Contains(x.ResoruceId)).GroupBy(x => x.ResoruceId).Select(x => x.Max(y => y.Id));
                var result = w.Queryable <ResourceStateValue>().Where(x => ids.Contains(x.Id)).Select(x => new { AccountId = x.ResoruceId, x.StateId });
                result.ToList().ForEach(x =>
                {
                    var location             = resourceScreen.ScreenItems.Single(y => y.ResourceId == x.AccountId);
                    location.ResourceStateId = x.StateId;
                });
            }
        }
 public ResourceButtonViewModel(ResourceScreenItem model, ResourceScreen screen,
                                ICommand actionCommand, bool isTicketSelected, bool userPermittedToMerge, ResourceState state)
 {
     _actionCommand        = actionCommand;
     _screen               = screen;
     _isTicketSelected     = isTicketSelected;
     _userPermittedToMerge = userPermittedToMerge;
     AccountState          = state;
     Model = model;
 }
Exemple #4
0
 public void Refresh(ResourceScreen resourceScreen, EntityOperationRequest <Resource> currentOperationRequest)
 {
     _resourceService.UpdateResourceScreen(resourceScreen);
     if (_currentResourceScreen != resourceScreen || Widgets == null)
     {
         _currentResourceScreen = resourceScreen;
         Widgets = new ObservableCollection <IDiagram>(resourceScreen.Widgets.Select(WidgetCreatorRegistry.CreateWidgetViewModel));
     }
     Widgets.Where(x => x.AutoRefresh).ToList().ForEach(x => x.Refresh());
     RaisePropertyChanged(() => Widgets);
 }
 private List <ResourceScreenItem> GetResourceScreenItems(ResourceScreen resourceScreen, int stateFilter)
 {
     _applicationStateSetter.SetSelectedResourceScreen(resourceScreen);
     if (resourceScreen.ScreenItems.Count > 0)
     {
         return(_resourceService.GetCurrentResourceScreenItems(resourceScreen, CurrentPageNo, stateFilter).OrderBy(x => x.Order).ToList());
     }
     return
         (_resourceService.GetResourcesByState(stateFilter, resourceScreen.ResourceTypeId).Select(x => new ResourceScreenItem {
         ResourceId = x.Id, Name = x.Name, ResourceStateId = stateFilter
     }).ToList());
 }
        private void UpdateResourceScreenItems(ResourceScreen resourceScreen)
        {
            var stateFilter  = resourceScreen.DisplayMode == 0 ? resourceScreen.StateFilterId : 0;
            var resourceData = GetResourceScreenItems(resourceScreen, stateFilter);

            if (ResourceScreenItems != null && (!ResourceScreenItems.Any() || ResourceScreenItems.Count != resourceData.Count() || ResourceScreenItems.First().Name != resourceData.First().Name))
            {
                ResourceScreenItems = null;
            }

            UpdateResourceButtons(resourceData);

            RaisePropertyChanged(() => ResourceScreenItems);
            RaisePropertyChanged(() => SelectedResourceScreen);
            RaisePropertyChanged(() => IsPageNavigatorVisible);
            RaisePropertyChanged(() => ScreenVerticalAlignment);
        }
        public IEnumerable <ResourceScreenItem> GetCurrentResourceScreenItems(ResourceScreen resourceScreen, int currentPageNo, int resourceStateFilter)
        {
            UpdateResourceScreenItems(resourceScreen, currentPageNo);

            if (resourceScreen != null)
            {
                if (resourceScreen.PageCount > 1)
                {
                    return(resourceScreen.ScreenItems
                           .OrderBy(x => x.Order)
                           .Where(x => x.ResourceStateId == resourceStateFilter || resourceStateFilter == 0)
                           .Skip(resourceScreen.ItemCountPerPage * currentPageNo)
                           .Take(resourceScreen.ItemCountPerPage));
                }
                return(resourceScreen.ScreenItems.Where(x => x.ResourceStateId == resourceStateFilter || resourceStateFilter == 0));
            }
            return(new List <ResourceScreenItem>());
        }
Exemple #8
0
        public ResourceScreen GetResourceData()
        {
            // get the Resource list entity from the database.
            ResourceRepository    resourceRepository = new ResourceRepository();
            List <ResourceEntity> list = resourceRepository.LoadList(null);

            if (list == null)
            {
                return(null);
            }

            ResourceScreen resourceScreen = new ResourceScreen();

            resourceScreen.BedOccupied      = GetOccupiedBedCount(list);
            resourceScreen.BedEmpty         = TotalBedCount - resourceScreen.BedOccupied;
            resourceScreen.CurrentOccupancy = GetOccupancyRate(resourceScreen);

            return(resourceScreen);
        }
Exemple #9
0
        private void ImportTableResources(ResourceType tableTemplate, int defaultStateId)
        {
            var fileName = string.Format("{0}/Imports/table{1}.txt", LocalSettings.AppPath, "_" + LocalSettings.CurrentLanguage);

            if (!File.Exists(fileName))
            {
                fileName = string.Format("{0}/Imports/table.txt", LocalSettings.AppPath);
            }

            if (!File.Exists(fileName))
            {
                return;
            }

            var lines = File.ReadAllLines(fileName);
            var items = BatchCreateResourcesWithTemplate(lines, _workspace, tableTemplate).ToList();

            items.ForEach(_workspace.Add);

            _workspace.CommitChanges();

            var screen = new ResourceScreen {
                Name = "All Tables", ColumnCount = 7, ResourceTypeId = tableTemplate.Id
            };

            screen.ResourceScreenMaps.Add(new ResourceScreenMap());
            _workspace.Add(screen);

            foreach (var resource in items)
            {
                resource.ResourceTypeId = tableTemplate.Id;
                screen.AddScreenItem(new ResourceScreenItem {
                    Name = resource.Name, ResourceId = resource.Id
                });
                var state = new ResourceStateValue {
                    Date = DateTime.Now, ResoruceId = resource.Id, StateId = defaultStateId
                };
                _workspace.Add(state);
            }

            _workspace.CommitChanges();
        }
Exemple #10
0
        public void CreateData()
        {
            CreateDefaultCurrenciesIfNeeded();

            if (!ShouldCreateData())
            {
                return;
            }

            var saleAccountType = new AccountType {
                Name = string.Format(Resources.Accounts_f, Resources.Sales)
            };
            var receivableAccountType = new AccountType {
                Name = string.Format(Resources.Accounts_f, Resources.Receiveable)
            };
            var paymentAccountType = new AccountType {
                Name = string.Format(Resources.Accounts_f, Resources.Payment)
            };
            var discountAccountType = new AccountType {
                Name = string.Format(Resources.Accounts_f, Resources.Discount)
            };
            var customerAccountType = new AccountType {
                Name = string.Format(Resources.Accounts_f, Resources.Customer)
            };

            _workspace.Add(receivableAccountType);
            _workspace.Add(saleAccountType);
            _workspace.Add(paymentAccountType);
            _workspace.Add(discountAccountType);
            _workspace.Add(customerAccountType);
            _workspace.CommitChanges();

            var customerResourceType = new ResourceType {
                Name = Resources.Customers, EntityName = Resources.Customer, AccountTypeId = customerAccountType.Id
            };

            customerResourceType.ResoruceCustomFields.Add(new ResourceCustomField {
                EditingFormat = "(###) ### ####", FieldType = 0, Name = Resources.Phone
            });
            customerResourceType.AccountNameTemplate = "[Name]-[Phone]";
            var tableResourceType = new ResourceType {
                Name = Resources.Tables, EntityName = Resources.Table
            };

            _workspace.Add(customerResourceType);
            _workspace.Add(tableResourceType);

            _workspace.CommitChanges();

            var accountScreen = new AccountScreen {
                Name = Resources.General
            };

            accountScreen.AccountScreenValues.Add(new AccountScreenValue {
                AccountTypeName = saleAccountType.Name, AccountTypeId = saleAccountType.Id, DisplayDetails = true
            });
            accountScreen.AccountScreenValues.Add(new AccountScreenValue {
                AccountTypeName = receivableAccountType.Name, AccountTypeId = receivableAccountType.Id, DisplayDetails = true
            });
            accountScreen.AccountScreenValues.Add(new AccountScreenValue {
                AccountTypeName = discountAccountType.Name, AccountTypeId = discountAccountType.Id, DisplayDetails = true
            });
            accountScreen.AccountScreenValues.Add(new AccountScreenValue {
                AccountTypeName = paymentAccountType.Name, AccountTypeId = paymentAccountType.Id, DisplayDetails = true
            });
            _workspace.Add(accountScreen);

            var defaultSaleAccount = new Account {
                AccountTypeId = saleAccountType.Id, Name = Resources.Sales
            };
            var defaultReceivableAccount = new Account {
                AccountTypeId = receivableAccountType.Id, Name = Resources.Receivables
            };
            var cashAccount = new Account {
                AccountTypeId = paymentAccountType.Id, Name = Resources.Cash
            };
            var creditCardAccount = new Account {
                AccountTypeId = paymentAccountType.Id, Name = Resources.CreditCard
            };
            var voucherAccount = new Account {
                AccountTypeId = paymentAccountType.Id, Name = Resources.Voucher
            };
            var defaultDiscountAccount = new Account {
                AccountTypeId = discountAccountType.Id, Name = Resources.Discount
            };
            var defaultRoundingAccount = new Account {
                AccountTypeId = discountAccountType.Id, Name = Resources.Rounding
            };

            _workspace.Add(defaultSaleAccount);
            _workspace.Add(defaultReceivableAccount);
            _workspace.Add(defaultDiscountAccount);
            _workspace.Add(defaultRoundingAccount);
            _workspace.Add(cashAccount);
            _workspace.Add(creditCardAccount);
            _workspace.Add(voucherAccount);

            _workspace.CommitChanges();

            var discountTransactionType = new AccountTransactionType
            {
                Name = string.Format(Resources.Transaction_f, Resources.Discount),
                SourceAccountTypeId    = receivableAccountType.Id,
                TargetAccountTypeId    = discountAccountType.Id,
                DefaultSourceAccountId = defaultReceivableAccount.Id,
                DefaultTargetAccountId = defaultDiscountAccount.Id
            };

            var roundingTransactionType = new AccountTransactionType
            {
                Name = string.Format(Resources.Transaction_f, Resources.Rounding),
                SourceAccountTypeId    = receivableAccountType.Id,
                TargetAccountTypeId    = discountAccountType.Id,
                DefaultSourceAccountId = defaultReceivableAccount.Id,
                DefaultTargetAccountId = defaultRoundingAccount.Id
            };

            var saleTransactionType = new AccountTransactionType
            {
                Name = string.Format(Resources.Transaction_f, Resources.Sale),
                SourceAccountTypeId    = saleAccountType.Id,
                TargetAccountTypeId    = receivableAccountType.Id,
                DefaultSourceAccountId = defaultSaleAccount.Id,
                DefaultTargetAccountId = defaultReceivableAccount.Id
            };

            var paymentTransactionType = new AccountTransactionType
            {
                Name = string.Format(Resources.Transaction_f, Resources.Payment),
                SourceAccountTypeId    = receivableAccountType.Id,
                TargetAccountTypeId    = paymentAccountType.Id,
                DefaultSourceAccountId = defaultReceivableAccount.Id,
                DefaultTargetAccountId = cashAccount.Id
            };

            var customerAccountTransactionType = new AccountTransactionType
            {
                Name = "Customer Account Transaction",
                SourceAccountTypeId    = receivableAccountType.Id,
                TargetAccountTypeId    = customerAccountType.Id,
                DefaultSourceAccountId = defaultReceivableAccount.Id
            };

            var customerCashPaymentType = new AccountTransactionType
            {
                Name = "Customer Cash Payment",
                SourceAccountTypeId    = customerAccountType.Id,
                TargetAccountTypeId    = paymentAccountType.Id,
                DefaultTargetAccountId = cashAccount.Id
            };

            var customerCreditCardPaymentType = new AccountTransactionType
            {
                Name = "Customer Credit Card Payment",
                SourceAccountTypeId    = customerAccountType.Id,
                TargetAccountTypeId    = paymentAccountType.Id,
                DefaultTargetAccountId = creditCardAccount.Id
            };

            _workspace.Add(saleTransactionType);
            _workspace.Add(paymentTransactionType);
            _workspace.Add(discountTransactionType);
            _workspace.Add(roundingTransactionType);
            _workspace.Add(customerAccountTransactionType);
            _workspace.Add(customerCashPaymentType);
            _workspace.Add(customerCreditCardPaymentType);

            var customerCashDocument = new AccountTransactionDocumentType
            {
                Name                = "Customer Cash",
                ButtonHeader        = Resources.Cash,
                DefaultAmount       = string.Format("[{0}]", Resources.Balance),
                DescriptionTemplate = string.Format(Resources.Payment_f, Resources.Cash),
                MasterAccountTypeId = customerAccountType.Id
            };

            customerCashDocument.AddAccountTransactionDocumentTypeMap();
            customerCashDocument.TransactionTypes.Add(customerCashPaymentType);

            var customerCreditCardDocument = new AccountTransactionDocumentType
            {
                Name                = "Customer Credit Card",
                ButtonHeader        = Resources.CreditCard,
                DefaultAmount       = string.Format("[{0}]", Resources.Balance),
                DescriptionTemplate = string.Format(Resources.Payment_f, Resources.CreditCard),
                MasterAccountTypeId = customerAccountType.Id
            };

            customerCreditCardDocument.AddAccountTransactionDocumentTypeMap();
            customerCreditCardDocument.TransactionTypes.Add(customerCreditCardPaymentType);

            _workspace.Add(customerCashDocument);
            _workspace.Add(customerCreditCardDocument);

            var discountService = new CalculationType
            {
                AccountTransactionType = discountTransactionType,
                CalculationMethod      = 0,
                DecreaseAmount         = true,
                Name = Resources.Discount
            };

            var roundingService = new CalculationType
            {
                AccountTransactionType = roundingTransactionType,
                CalculationMethod      = 2,
                DecreaseAmount         = true,
                IncludeTax             = true,
                Name = Resources.Round
            };

            var discountSelector = new CalculationSelector {
                Name = Resources.Discount, ButtonHeader = Resources.DiscountPercentSign
            };

            discountSelector.CalculationTypes.Add(discountService);
            discountSelector.AddCalculationSelectorMap();

            var roundingSelector = new CalculationSelector {
                Name = Resources.Round, ButtonHeader = Resources.Round
            };

            roundingSelector.CalculationTypes.Add(roundingService);
            roundingSelector.AddCalculationSelectorMap();


            _workspace.Add(discountService);
            _workspace.Add(roundingService);
            _workspace.Add(discountSelector);
            _workspace.Add(roundingSelector);

            var screen = new ScreenMenu();

            _workspace.Add(screen);

            var ticketNumerator = new Numerator {
                Name = Resources.TicketNumerator
            };

            _workspace.Add(ticketNumerator);

            var orderNumerator = new Numerator {
                Name = Resources.OrderNumerator
            };

            _workspace.Add(orderNumerator);

            var printBillAutomation = new AutomationCommand {
                Name = Resources.PrintBill, ButtonHeader = Resources.PrintBill
            };

            printBillAutomation.AutomationCommandMaps.Add(new AutomationCommandMap {
                VisualBehaviour = 1
            });
            _workspace.Add(printBillAutomation);

            var unlockTicketAutomation = new AutomationCommand {
                Name = Resources.UnlockTicket, ButtonHeader = Resources.UnlockTicket
            };

            unlockTicketAutomation.AutomationCommandMaps.Add(new AutomationCommandMap {
                VisualBehaviour = 2
            });
            _workspace.Add(unlockTicketAutomation);

            var addTicketAutomation = new AutomationCommand {
                Name = string.Format(Resources.Add_f, Resources.Ticket), ButtonHeader = string.Format(Resources.Add_f, Resources.Ticket)
            };

            addTicketAutomation.AddAutomationCommandMap();
            _workspace.Add(addTicketAutomation);

            _workspace.CommitChanges();

            var ticketTemplate = new TicketTemplate
            {
                Name                = Resources.TicketTemplate,
                TicketNumerator     = ticketNumerator,
                OrderNumerator      = orderNumerator,
                SaleTransactionType = saleTransactionType,
            };

            var cashPayment = new PaymentType
            {
                AccountTransactionType = paymentTransactionType,
                Account = cashAccount,
                Name    = cashAccount.Name
            };

            cashPayment.PaymentTypeMaps.Add(new PaymentTypeMap {
                DisplayAtPaymentScreen = true
            });

            var creditCardPayment = new PaymentType
            {
                AccountTransactionType = paymentTransactionType,
                Account = creditCardAccount,
                Name    = creditCardAccount.Name
            };

            creditCardPayment.PaymentTypeMaps.Add(new PaymentTypeMap {
                DisplayAtPaymentScreen = true
            });

            var voucherPayment = new PaymentType
            {
                AccountTransactionType = paymentTransactionType,
                Account = voucherAccount,
                Name    = voucherAccount.Name
            };

            voucherPayment.PaymentTypeMaps.Add(new PaymentTypeMap {
                DisplayAtPaymentScreen = true
            });

            var accountPayment = new PaymentType
            {
                AccountTransactionType = customerAccountTransactionType,
                Name = Resources.CustomerAccount
            };

            accountPayment.PaymentTypeMaps.Add(new PaymentTypeMap {
                DisplayAtPaymentScreen = true
            });

            _workspace.Add(cashPayment);
            _workspace.Add(creditCardPayment);
            _workspace.Add(voucherPayment);
            _workspace.Add(ticketTemplate);
            _workspace.Add(accountPayment);

            var department = new Department
            {
                Name           = Resources.Restaurant,
                TicketTemplate = ticketTemplate,
                ScreenMenuId   = screen.Id,
            };

            _workspace.Add(department);

            var role = new UserRole("Admin")
            {
                IsAdmin = true, DepartmentId = 1
            };

            _workspace.Add(role);

            var u = new User("Administrator", "1234")
            {
                UserRole = role
            };

            _workspace.Add(u);

            var ticketPrinterTemplate = new PrinterTemplate {
                Name = Resources.TicketTemplate, Template = Resources.TicketTemplateValue
            };
            var kitchenPrinterTemplate = new PrinterTemplate {
                Name = Resources.KitchenOrderTemplate, Template = Resources.KitchenTemplateValue
            };

            _workspace.Add(ticketPrinterTemplate);
            _workspace.Add(kitchenPrinterTemplate);

            var printer1 = new Printer {
                Name = Resources.TicketPrinter
            };
            var printer2 = new Printer {
                Name = Resources.KitchenPrinter
            };
            var printer3 = new Printer {
                Name = Resources.InvoicePrinter
            };

            _workspace.Add(printer1);
            _workspace.Add(printer2);
            _workspace.Add(printer3);

            _workspace.CommitChanges();

            var t = new Terminal
            {
                IsDefault     = true,
                Name          = Resources.Server,
                ReportPrinter = printer1,
            };

            var pm1 = new PrinterMap {
                PrinterId = printer1.Id, PrinterTemplateId = ticketPrinterTemplate.Id
            };

            _workspace.Add(pm1);

            var pj1 = new PrintJob
            {
                Name        = Resources.PrintBill,
                LocksTicket = true,
                WhatToPrint = (int)WhatToPrintTypes.Everything,
            };

            pj1.PrinterMaps.Add(pm1);


            _workspace.Add(pj1);

            var pm2 = new PrinterMap {
                PrinterId = printer2.Id, PrinterTemplateId = kitchenPrinterTemplate.Id
            };
            var pj2 = new PrintJob
            {
                Name        = Resources.PrintOrdersToKitchenPrinter,
                WhatToPrint = (int)WhatToPrintTypes.NewLines,
            };

            pj2.PrinterMaps.Add(pm2);

            _workspace.Add(pj2);
            _workspace.Add(t);

            var orderTag1 = new OrderStateGroup {
                Name = Resources.Gift, ButtonHeader = Resources.Gift, CalculateOrderPrice = false, DecreaseOrderInventory = true
            };

            orderTag1.OrderStates.Add(new OrderState {
                Name = Resources.Gift
            });
            orderTag1.AddOrderStateMap();
            _workspace.Add(orderTag1);

            var orderTag2 = new OrderStateGroup {
                Name = Resources.Void, ButtonHeader = Resources.Void, CalculateOrderPrice = false, DecreaseOrderInventory = false
            };

            orderTag2.OrderStates.Add(new OrderState {
                Name = Resources.Void
            });
            orderTag2.UnlocksOrder = true;
            orderTag2.AddOrderStateMap();
            _workspace.Add(orderTag2);

            const string parameterFormat = "[{{\"Key\":\"{0}\",\"Value\":\"{1}\"}}]";
            //const string doubleParameterFormat = "[{{\"Key\":\"{0}\",\"Value\":\"{1}\"}},{{\"Key\":\"{2}\",\"Value\":\"{3}\"}}]";

            var newOrderState = new ResourceState {
                Name = "New Orders", Color = "Orange"
            };

            _workspace.Add(newOrderState);

            var availableState = new ResourceState {
                Name = "Available", Color = "White"
            };

            _workspace.Add(availableState);

            var billRequestedState = new ResourceState {
                Name = "Bill Requested", Color = "Maroon"
            };

            _workspace.Add(billRequestedState);

            var newOrderAction = new AppAction {
                ActionType = "UpdateResourceState", Name = "Update New Order State", Parameter = string.Format(parameterFormat, "ResourceState", "New Orders")
            };

            _workspace.Add(newOrderAction);
            var availableAction = new AppAction {
                ActionType = "UpdateResourceState", Name = "Update Available State", Parameter = string.Format(parameterFormat, "ResourceState", "Available")
            };

            _workspace.Add(availableAction);
            var billRequestedAction = new AppAction {
                ActionType = "UpdateResourceState", Name = "Update Bill Requested State", Parameter = string.Format(parameterFormat, "ResourceState", "Bill Requested")
            };

            _workspace.Add(billRequestedAction);
            var createTicketAction = new AppAction {
                ActionType = "CreateTicket", Name = string.Format(Resources.Create_f, Resources.Ticket), Parameter = ""
            };

            _workspace.Add(createTicketAction);
            var closeTicketAction = new AppAction {
                ActionType = "CloseActiveTicket", Name = Resources.CloseTicket, Parameter = ""
            };

            _workspace.Add(closeTicketAction);
            var printBillAction = new AppAction {
                ActionType = "ExecutePrintJob", Name = "Execute Bill Print Job", Parameter = string.Format(parameterFormat, "PrintJobName", Resources.PrintBill)
            };

            _workspace.Add(printBillAction);
            var printKitchenOrdersAction = new AppAction {
                ActionType = "ExecutePrintJob", Name = "Execute Kitchen Orders Print Job", Parameter = string.Format(parameterFormat, "PrintJobName", Resources.PrintOrdersToKitchenPrinter)
            };

            _workspace.Add(printKitchenOrdersAction);
            var unlockTicketAction = new AppAction {
                ActionType = "UnlockTicket", Name = Resources.UnlockTicket, Parameter = ""
            };

            _workspace.Add(unlockTicketAction);
            _workspace.CommitChanges();

            var newOrderRule = new AppRule {
                Name = "Update New Order Resource Color", EventName = "TicketClosing", EventConstraints = "NewOrderCount;>;0"
            };

            newOrderRule.Actions.Add(new ActionContainer(printKitchenOrdersAction));
            newOrderRule.Actions.Add(new ActionContainer(newOrderAction));
            newOrderRule.AddRuleMap();
            _workspace.Add(newOrderRule);

            var availableRule = new AppRule {
                Name = "Update Available Resource Color", EventName = "ResourceUpdated", EventConstraints = "OpenTicketCount;=;0"
            };
            var ac2 = new ActionContainer(availableAction);

            availableRule.Actions.Add(ac2);
            availableRule.AddRuleMap();
            _workspace.Add(availableRule);

            var movingRule = new AppRule {
                Name = "Update Moved Resource Color", EventName = "TicketResourceChanged", EventConstraints = "OrderCount;>;0"
            };
            var ac3 = new ActionContainer(newOrderAction);

            movingRule.Actions.Add(ac3);
            movingRule.AddRuleMap();
            _workspace.Add(movingRule);

            var printBillRule = new AppRule {
                Name = "Print Bill Rule", EventName = RuleEventNames.AutomationCommandExecuted, EventConstraints = "AutomationCommandName;=;" + Resources.PrintBill
            };

            printBillRule.Actions.Add(new ActionContainer(printBillAction));
            printBillRule.Actions.Add(new ActionContainer(billRequestedAction));
            printBillRule.Actions.Add(new ActionContainer(closeTicketAction));
            printBillRule.AddRuleMap();
            _workspace.Add(printBillRule);

            var unlockTicketRule = new AppRule {
                Name = "Unlock Ticket Rule", EventName = RuleEventNames.AutomationCommandExecuted, EventConstraints = "AutomationCommandName;=;Unlock Ticket"
            };

            unlockTicketRule.Actions.Add(new ActionContainer(unlockTicketAction));
            unlockTicketRule.AddRuleMap();
            _workspace.Add(unlockTicketRule);

            var createTicketRule = new AppRule {
                Name = "Create Ticket Rule", EventName = RuleEventNames.AutomationCommandExecuted, EventConstraints = "AutomationCommandName;=;Add Ticket"
            };

            createTicketRule.Actions.Add(new ActionContainer(createTicketAction));
            createTicketRule.AddRuleMap();
            _workspace.Add(createTicketRule);

            var updateMergedTicket = new AppRule {
                Name = "Update Merged Tickets State", EventName = RuleEventNames.TicketsMerged
            };

            updateMergedTicket.Actions.Add(new ActionContainer(newOrderAction));
            updateMergedTicket.AddRuleMap();
            _workspace.Add(updateMergedTicket);

            ImportMenus(screen);
            ImportTableResources(tableResourceType, availableState.Id);

            var customerScreen = new ResourceScreen {
                Name = "Customer Search", DisplayMode = 2, ResourceTypeId = customerResourceType.Id
            };

            customerScreen.ResourceScreenMaps.Add(new ResourceScreenMap());
            _workspace.Add(customerScreen);

            var customerTicketScreen = new ResourceScreen {
                Name = "Customer Tickets", DisplayMode = 0, ResourceTypeId = customerResourceType.Id, StateFilterId = newOrderState.Id, ColumnCount = 6, RowCount = 6
            };

            customerTicketScreen.ResourceScreenMaps.Add(new ResourceScreenMap());
            _workspace.Add(customerTicketScreen);


            ImportItems(BatchCreateResources);
            ImportItems(BatchCreateTransactionTypes);
            ImportItems(BatchCreateTransactionTypeDocuments);

            _workspace.CommitChanges();
            _workspace.Dispose();
        }
 public void Refresh(ResourceScreen resourceScreen, EntityOperationRequest <Resource> currentOperationRequest)
 {
     _currentOperationRequest = currentOperationRequest;
     UpdateResourceScreenItems(resourceScreen);
 }
 private void ActivateButtonSelector(ResourceScreen resourceScreen)
 {
     _resourceSelectorViewModel.Refresh(resourceScreen, _currentOperationRequest);
     _regionManager.Regions[RegionNames.ResourceScreenRegion].Activate(_resourceSelectorView);
 }
 private void ActivateDashboard(ResourceScreen resourceScreen)
 {
     _resourceDashboardViewModel.Refresh(resourceScreen, _currentOperationRequest);
     _regionManager.Regions[RegionNames.ResourceScreenRegion].Activate(_resourceDashboardView);
 }
 public void UpdateResourceScreen(ResourceScreen resourceScreen)
 {
     UpdateResourceScreenItems(resourceScreen, 0);
 }
 public void SetSelectedResourceScreen(ResourceScreen resourceScreen)
 {
     SelectedResourceScreen = resourceScreen;
 }
Exemple #16
0
 public ResourceSwitcherButtonViewModel(ResourceScreen model, IApplicationState applicationState, bool displayActiveScreen)
 {
     Model                = model;
     _applicationState    = applicationState;
     _displayActiveScreen = displayActiveScreen;
 }
Exemple #17
0
 private string GetOccupancyRate(ResourceScreen resourceScreen)
 {
     return($"{((resourceScreen.BedOccupied / TotalBedCount) * 100).ToString()}%");
 }
 public ResourceButtonViewModel(ResourceScreenItem model, ResourceScreen screen)
     : this(model, screen, null, false, true, null)
 {
 }
Exemple #19
0
 public void Refresh(ResourceScreen resourceScreen, EntityOperationRequest <Resource> currentOperationRequest)
 {
     StateFilter          = resourceScreen.StateFilterId;
     SelectedResourceType = _cacheService.GetResourceTypeById(resourceScreen.ResourceTypeId);
     RefreshSelectedResource(currentOperationRequest);
 }
 private void OnSelectResourceCategoryExecuted(ResourceScreen obj)
 {
     ActivateResourceScreen(obj);
 }