public OrderBuilder ToggleOrderTag(OrderTagGroup orderTagGroup, OrderTag orderTag) { _orderTags.Add(new OrderTagData { OrderTagGroup = orderTagGroup, OrderTag = orderTag }); return(this); }
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 }); } }
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); } }
private void OnShowOrderTagsExecute(OrderTagGroup orderTagGroup) { var orderTagData = new OrderTagData { SelectedOrders = SelectedOrders, OrderTagGroup = orderTagGroup, Ticket = SelectedTicket }; orderTagData.PublishEvent(EventTopicNames.SelectOrderTag); }
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 }); } }
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 }); } }
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 }); } }
public static OrderTag AddDefaultMenuItemProperty(OrderTagGroup item) { return(item.AddOrderTag("", new decimal(0))); }
public bool IsTaggedWith(OrderTagGroup orderTagGroup) { return(Model.IsTaggedWith(orderTagGroup)); }
private static IEnumerable <OrderTagButtonViewModel> GetOrderTags(IEnumerable <Order> selectedOrders, OrderTagGroup baseModel) { return(baseModel.OrderTags.Select(item => new OrderTagButtonViewModel(selectedOrders, baseModel, item))); }
public OrderTagGroupViewModel(OrderTagGroup model, IEnumerable <Order> selectedOrders) { Model = model; _selectedOrders = selectedOrders; }
public GroupedOrderTagButtonViewModel(Order selectedItem, OrderTagGroup orderTagGroup) { _selectedItem = selectedItem; OrderTagGroup = orderTagGroup; UpdateNextTag(null); }
public OrderTagButton(OrderTagGroup orderTagGroup) { Model = orderTagGroup; Name = Model.ButtonHeader; }
public OrderBuilderFor <T> ToggleOrderTag(OrderTagGroup orderTagGroup, OrderTag orderTag) { _orderBuilder.ToggleOrderTag(orderTagGroup, orderTag); return(this); }
private bool CanShowOrderTagsExecute(OrderTagGroup arg) { return(SelectedOrders.Any()); }