Ejemplo n.º 1
0
 public OrderBuilder ToggleOrderTag(OrderTagGroup orderTagGroup, OrderTag orderTag)
 {
     _orderTags.Add(new OrderTagData {
         OrderTagGroup = orderTagGroup, OrderTag = orderTag
     });
     return(this);
 }
Ejemplo n.º 2
0
 public void TagOrders(IEnumerable <Order> selectedOrders, OrderTagGroup orderTagGroup, OrderTag orderTag)
 {
     foreach (var selectedOrder in selectedOrders)
     {
         var result = selectedOrder.ToggleOrderTag(orderTagGroup, orderTag, _applicationState.CurrentLoggedInUser.Id);
         if (orderTagGroup.SaveFreeTags && orderTagGroup.OrderTags.All(x => x.Name != orderTag.Name))
         {
             using (var v = WorkspaceFactory.Create())
             {
                 var og = v.Single <OrderTagGroup>(x => x.Id == orderTagGroup.Id);
                 if (og != null)
                 {
                     var lvTagName = orderTag.Name.ToLower();
                     var t         = v.Single <OrderTag>(x => x.Name.ToLower() == lvTagName);
                     if (t == null)
                     {
                         var ot = new OrderTag();
                         ot.InjectFrom <CloneInjection>(orderTag);
                         og.OrderTags.Add(ot);
                         v.CommitChanges();
                         _cacheService.ResetOrderTagCache();
                     }
                 }
             }
         }
         _automationService.NotifyEvent(result ? RuleEventNames.OrderTagged : RuleEventNames.OrderUntagged,
                                        new
         {
             Order         = selectedOrder,
             OrderTagName  = orderTagGroup.Name,
             OrderTagValue = orderTag.Name
         });
     }
 }
Ejemplo n.º 3
0
 public OrderTagButtonViewModel(IEnumerable <Order> selectedOrders, OrderTagGroup tagGroup, OrderTag model)
 {
     _selectedOrders = selectedOrders;
     Model           = model;
     OrderTagGroup   = tagGroup;
     if (string.IsNullOrEmpty(model.Name))
     {
         model.Name = string.Format("[{0}]", Resources.NewProperty);
     }
 }
Ejemplo n.º 4
0
        private void OnShowOrderTagsExecute(OrderTagGroup orderTagGroup)
        {
            var orderTagData = new OrderTagData
            {
                SelectedOrders = SelectedOrders,
                OrderTagGroup  = orderTagGroup,
                Ticket         = SelectedTicket
            };

            orderTagData.PublishEvent(EventTopicNames.SelectOrderTag);
        }
Ejemplo n.º 5
0
 public void UntagOrders(Ticket ticket, IEnumerable <Order> selectedOrders, OrderTagGroup orderTagGroup, OrderTag orderTag)
 {
     foreach (var selectedOrder in selectedOrders.Where(selectedOrder => selectedOrder.UntagIfTagged(orderTagGroup, orderTag)))
     {
         _applicationState.NotifyEvent(RuleEventNames.OrderUntagged,
                                       new
         {
             Ticket        = ticket,
             Order         = selectedOrder,
             OrderTagName  = orderTagGroup.Name,
             OrderTagValue = orderTag.Name
         });
     }
 }
Ejemplo n.º 6
0
 public void UntagOrders(IEnumerable <Order> selectedOrders, OrderTagGroup orderTagGroup, OrderTag orderTag)
 {
     foreach (var selectedOrder in selectedOrders)
     {
         selectedOrder.UntagIfTagged(orderTagGroup, orderTag);
         _automationService.NotifyEvent(RuleEventNames.OrderUntagged,
                                        new
         {
             Order         = selectedOrder,
             OrderTagName  = orderTagGroup.Name,
             OrderTagValue = orderTag.Name
         });
     }
 }
Ejemplo n.º 7
0
        public void TagOrders(Ticket ticket, IEnumerable <Order> selectedOrders, OrderTagGroup orderTagGroup, OrderTag orderTag, string tagNote)
        {
            var so = selectedOrders.ToList();

            if (orderTagGroup.MaxSelectedItems == 1)
            {
                foreach (var order in so.Where(x => x.OrderTagExists(y => y.OrderTagGroupId == orderTagGroup.Id && y.TagValue != orderTag.Name)))
                {
                    var orderTagValue = order.GetOrderTagValues().First(x => x.OrderTagGroupId == orderTagGroup.Id);
                    order.UntagOrder(orderTagValue);
                    _applicationState.NotifyEvent(RuleEventNames.OrderUntagged,
                                                  new
                    {
                        Ticket        = ticket,
                        Order         = order,
                        OrderTagName  = orderTagGroup.Name,
                        OrderTagValue = orderTagValue.TagValue
                    });
                }
            }

            foreach (var selectedOrder in so)
            {
                var result = selectedOrder.ToggleOrderTag(orderTagGroup, orderTag, _applicationState.CurrentLoggedInUser.Id, tagNote);

                if (orderTagGroup.SaveFreeTags && orderTagGroup.OrderTags.All(x => x.Name != orderTag.Name))
                {
                    _ticketDao.SaveFreeOrderTag(orderTagGroup.Id, orderTag);
                    _cacheService.ResetOrderTagCache();
                }
                _applicationState.NotifyEvent(result ? RuleEventNames.OrderTagged : RuleEventNames.OrderUntagged,
                                              new
                {
                    Ticket        = ticket,
                    Order         = selectedOrder,
                    OrderTagName  = orderTagGroup.Name,
                    OrderTagValue = orderTag.Name
                });
            }
        }
Ejemplo n.º 8
0
 public static OrderTag AddDefaultMenuItemProperty(OrderTagGroup item)
 {
     return(item.AddOrderTag("", new decimal(0)));
 }
Ejemplo n.º 9
0
 public bool IsTaggedWith(OrderTagGroup orderTagGroup)
 {
     return(Model.IsTaggedWith(orderTagGroup));
 }
Ejemplo n.º 10
0
 private static IEnumerable <OrderTagButtonViewModel> GetOrderTags(IEnumerable <Order> selectedOrders, OrderTagGroup baseModel)
 {
     return(baseModel.OrderTags.Select(item => new OrderTagButtonViewModel(selectedOrders, baseModel, item)));
 }
Ejemplo n.º 11
0
 public OrderTagGroupViewModel(OrderTagGroup model, IEnumerable <Order> selectedOrders)
 {
     Model           = model;
     _selectedOrders = selectedOrders;
 }
 public GroupedOrderTagButtonViewModel(Order selectedItem, OrderTagGroup orderTagGroup)
 {
     _selectedItem = selectedItem;
     OrderTagGroup = orderTagGroup;
     UpdateNextTag(null);
 }
Ejemplo n.º 13
0
 public OrderTagButton(OrderTagGroup orderTagGroup)
 {
     Model = orderTagGroup;
     Name  = Model.ButtonHeader;
 }
Ejemplo n.º 14
0
 public OrderBuilderFor <T> ToggleOrderTag(OrderTagGroup orderTagGroup, OrderTag orderTag)
 {
     _orderBuilder.ToggleOrderTag(orderTagGroup, orderTag);
     return(this);
 }
Ejemplo n.º 15
0
 private bool CanShowOrderTagsExecute(OrderTagGroup arg)
 {
     return(SelectedOrders.Any());
 }