private bool DeckMatchesSelectedTags(Deck deck) { return(SelectedTags.Any(t => t == "All") || (TagOperation == TagFilerOperation.Or ? SelectedTags.Any(t => deck.Tags.Contains(t) || t == "None" && deck.Tags.Count == 0) : SelectedTags.All(t => deck.Tags.Contains(t) || t == "None" && deck.Tags.Count == 0))); }
public void Drop(object data, int index = -1) { var bindedTags = (data as List <BindedTagVM>)?.ToList(); if (bindedTags == null || !bindedTags.Any()) { return; } foreach (var bindedTag in bindedTags) { if (SelectedTags.Any(x => x.Tag.Id == bindedTag.Tag.Id && x.Value == bindedTag.Value)) { continue; } SelectedTags.Add(bindedTag); } }
private void AddTags(object obj) { var bindedTags = (obj as IList)?.Cast <BindedTagVM>(); if (bindedTags == null) { var bindedTag = obj as BindedTagVM; if (bindedTag == null) { return; } bindedTags = new List <BindedTagVM> { bindedTag }; } var bindedTagVms = bindedTags as IList <BindedTagVM> ?? bindedTags.ToList(); if (!bindedTagVms.Any()) { return; } foreach (var bindedTag in bindedTagVms) { if (SelectedTags.Any(x => x.Tag.Id == bindedTag.Tag.Id && x.Value == bindedTag.Value)) { continue; } SelectedTags.Add(bindedTag); } }
private bool CanSave(object obj) { return(SelectedItems.Any() && SelectedTags.Any()); }