Ejemplo n.º 1
0
 private void ExecuteAutomationCommand(string automationCommandName, string automationCommandValue, string nextCommandValue)
 {
     if (SelectedOrders.Any())
     {
         foreach (var selectedOrder in SelectedOrders.ToList())
         {
             _applicationState.NotifyEvent(RuleEventNames.AutomationCommandExecuted,
                                           new
             {
                 Ticket = SelectedTicket,
                 Order  = selectedOrder,
                 AutomationCommandName = automationCommandName,
                 CommandValue          = automationCommandValue,
                 NextCommandValue      = nextCommandValue
             });
         }
     }
     else
     {
         _applicationState.NotifyEvent(RuleEventNames.AutomationCommandExecuted,
                                       new
         {
             Ticket = SelectedTicket,
             AutomationCommandName = automationCommandName,
             CommandValue          = automationCommandValue,
             NextCommandValue      = nextCommandValue
         });
     }
     _ticketOrdersViewModel.SelectedTicket = SelectedTicket;
     ClearSelectedItems();
     ClearSelection = true;
 }
Ejemplo n.º 2
0
        private void OnExecuteAutomationCommand(CommandContainerButton obj)
        {
            obj.NextValue();
            if (!string.IsNullOrEmpty(obj.CommandContainer.AutomationCommand.Values) && !obj.CommandContainer.AutomationCommand.ToggleValues)
            {
                obj.CommandContainer.AutomationCommand.PublishEvent(EventTopicNames.SelectAutomationCommandValue);
            }
            else
            {
                if (SelectedOrders.Any())
                {
                    foreach (var selectedOrder in SelectedOrders)
                    {
                        _applicationState.NotifyEvent(RuleEventNames.AutomationCommandExecuted, new
                        {
                            Ticket = SelectedTicket,
                            Order  = selectedOrder,
                            AutomationCommandName = obj.Name,
                            Value = obj.SelectedValue
                        });
                    }
                }
                else
                {
                    _applicationState.NotifyEvent(RuleEventNames.AutomationCommandExecuted, new
                    {
                        Ticket = SelectedTicket,
                        AutomationCommandName = obj.Name,
                        Value = obj.SelectedValue
                    });
                }

                _ticketOrdersViewModel.SelectedTicket = SelectedTicket;
                ClearSelectedItems();
                ClearSelection = true;
                RefreshVisuals();
                if (SelectedTicket != Ticket.Empty)
                {
                    EventServiceFactory.EventService.PublishEvent(EventTopicNames.RefreshSelectedTicket);
                }
            }
        }
Ejemplo n.º 3
0
 private bool CanMoveOrders(string arg)
 {
     if (SelectedTicket.IsLocked || SelectedTicket.IsClosed)
     {
         return(false);
     }
     if (!SelectedTicket.CanRemoveSelectedOrders(SelectedOrders))
     {
         return(false);
     }
     if (SelectedOrders.Any(x => x.Id == 0))
     {
         return(false);
     }
     if (SelectedOrders.Any(x => !x.Locked) && _userService.IsUserPermittedFor(PermissionNames.MoveUnlockedOrders))
     {
         return(true);
     }
     return(_userService.IsUserPermittedFor(PermissionNames.MoveOrders));
 }
Ejemplo n.º 4
0
 private bool CanShowOrderStatesExecute(OrderStateGroup arg)
 {
     if (!SelectedOrders.Any())
     {
         return(false);
     }
     if (!arg.DecreaseOrderInventory && !arg.IncreaseOrderInventory && SelectedOrders.Any(x => !x.Locked && !x.IsStateApplied(arg)))
     {
         return(false);
     }
     if (!arg.CalculateOrderPrice && !SelectedTicket.CanRemoveSelectedOrders(SelectedOrders))
     {
         return(false);
     }
     if (SelectedOrders.Any(x => !x.DecreaseInventory && !x.IsStateApplied(arg)))
     {
         return(false);
     }
     return(!arg.UnlocksOrder || !SelectedOrders.Any(x => x.Locked && x.OrderStateGroupId == arg.Id));
 }
Ejemplo n.º 5
0
        private void OnSelectedOrdersChanged(EventParameters <OrderViewModel> obj)
        {
            if (obj.Topic == EventTopicNames.SelectedOrdersChanged)
            {
                if (!obj.Value.Selected && !_ticketService.CanDeselectOrder(obj.Value.Model))
                {
                    obj.Value.ToggleSelection();
                    return;
                }

                if (ClearSelection)
                {
                    ClearSelection = false;
                    if (obj.Value != LastSelectedOrder)
                    {
                        ClearSelectedItems();
                        obj.Value.ToggleSelection();
                        return;
                    }
                }

                LastSelectedOrder = obj.Value.Selected ? obj.Value : null;
                if (!SelectedOrders.Any())
                {
                    LastSelectedOrder = null;
                }
                _ticketOrdersViewModel.UpdateLastSelectedOrder(LastSelectedOrder);

                RefreshSelectedItems();

                if (_applicationState.IsLandscape)
                {
                    var so = new SelectedOrdersData {
                        SelectedOrders = SelectedOrders, Ticket = SelectedTicket
                    };
                    OperationRequest <SelectedOrdersData> .Publish(so, EventTopicNames.DisplayTicketOrderDetails, EventTopicNames.ActivatePosView, "");
                }
            }
        }
Ejemplo n.º 6
0
        private void ExecuteAutomationCommand(AutomationCommand automationCommand, string selectedValue)
        {
            if (!string.IsNullOrEmpty(automationCommand.Values) && !automationCommand.ToggleValues)
            {
                automationCommand.PublishEvent(EventTopicNames.SelectAutomationCommandValue);
            }
            else
            {
                if (SelectedOrders.Any())
                {
                    foreach (var selectedOrder in SelectedOrders.ToList())
                    {
                        _applicationState.NotifyEvent(RuleEventNames.AutomationCommandExecuted,
                                                      new
                        {
                            Ticket = SelectedTicket,
                            Order  = selectedOrder,
                            AutomationCommandName = automationCommand.Name,
                            Value = selectedValue
                        });
                    }
                }
                else
                {
                    _applicationState.NotifyEvent(RuleEventNames.AutomationCommandExecuted,
                                                  new
                    {
                        Ticket = SelectedTicket,
                        AutomationCommandName = automationCommand.Name,
                        Value = selectedValue
                    });
                }

                _ticketOrdersViewModel.SelectedTicket = SelectedTicket;
                ClearSelectedItems();
                ClearSelection = true;
                RefreshVisuals();
            }
        }
Ejemplo n.º 7
0
        private void OnSelectedOrdersChanged(EventParameters <OrderViewModel> obj)
        {
            if (obj.Topic == EventTopicNames.SelectedOrdersChanged)
            {
                if (!obj.Value.Selected && !_ticketService.CanDeselectOrder(obj.Value.Model))
                {
                    obj.Value.ToggleSelection();
                    return;
                }

                if (ClearSelection)
                {
                    ClearSelection = false;
                    if (obj.Value != LastSelectedOrder)
                    {
                        ClearSelectedItems();
                        obj.Value.ToggleSelection();
                        return;
                    }
                }

                LastSelectedOrder = obj.Value.Selected ? obj.Value : null;
                if (!SelectedOrders.Any())
                {
                    LastSelectedOrder = null;
                }
                _ticketOrdersViewModel.UpdateLastSelectedOrder(LastSelectedOrder);

                RefreshSelectedItems();

                var so = new SelectedOrdersData {
                    SelectedOrders = SelectedOrders, Ticket = SelectedTicket
                };
                so.PublishEvent(EventTopicNames.SelectedOrdersChanged);
            }
        }
Ejemplo n.º 8
0
 private bool CanModifyOrder(string arg)
 {
     return(SelectedOrders.Any());
 }
Ejemplo n.º 9
0
 private bool CanShowOrderTagsExecute(OrderTagGroup arg)
 {
     return(SelectedOrders.Any());
 }