public void Update(Ticket selectedTicket) { _selectedTicket = selectedTicket; TicketTagValueViewModels.Clear(); TicketTagValueViewModels.AddRange(_applicationState.GetTicketTagGroups().Where(x => x.AskBeforeCreatingTicket).Select(x => new TicketTagValueViewModel(x, selectedTicket))); RaisePropertyChanged(() => RowCount); }
public void Update(Ticket selectedTicket) { _selectedTicket = selectedTicket; var tags = _applicationState.GetTicketTagGroups().Where(x => x.AskBeforeCreatingTicket).ToList(); TicketTagValueViewModels.Clear(); TicketTagValueViewModels.AddRange(tags.Select(x => new TicketTagValueViewModel(x, selectedTicket))); RaisePropertyChanged(nameof(RowCount)); OnSelectTicketTagGroup(TicketTagValueViewModels.First().Model); }
public bool TicketTagSelected(Ticket currentTicket, TicketTagGroup tagGroup) { SelectedTicket = currentTicket; IsFreeTagEditorVisible = tagGroup.FreeTagging; SelectedTicketTagData = tagGroup; List <TicketTag> ticketTags; if (IsFreeTagEditorVisible) { ticketTags = _cacheService.GetTicketTagGroupById(tagGroup.Id) .TicketTags.OrderBy(x => x.Name).ToList(); } else { ticketTags = _applicationState.GetTicketTagGroups().Where( x => x.Name == tagGroup.Name).SelectMany(x => x.TicketTags).ToList(); } if (tagGroup.FreeTagging) { ticketTags.Sort(AlphanumericComparator); } else { ticketTags.Sort((x, y) => x.SortOrder.CompareTo(y.SortOrder)); } TicketTags.AddRange(ticketTags); if (SelectedTicket.IsTaggedWith(tagGroup.Name)) { if (TicketTags.Count == 1) { UpdateTicketTag(SelectedTicket, SelectedTicketTagData, TicketTag.Empty); return(true); } if (!tagGroup.ForceValue) { TicketTags.Add(TicketTag.Empty); } } if (TicketTags.Count == 1 && !IsFreeTagEditorVisible) { UpdateTicketTag(SelectedTicket, SelectedTicketTagData, TicketTags[0]); return(true); } RaisePropertyChanged(nameof(TagColumnCount)); RaisePropertyChanged(nameof(IsFreeTagEditorVisible)); RaisePropertyChanged(nameof(FilteredTextBoxType)); return(false); }
private bool ShouldDisplayTicketTagList(Ticket ticket) { return(ticket != null && ticket.Orders.Count == 0 && _applicationState.GetTicketTagGroups().Any(x => x.AskBeforeCreatingTicket && !ticket.IsTaggedWith(x.Name))); }