示例#1
0
        private void SelectTag(object param)
        {
            var tag = param as Tag;

            if (tag == null)
            {
                return;
            }

            if (tag.HasValue &&
                !ValueEnterMode)
            {
                SearchString   = tag.Title;
                ValueEnterMode = true;
                EditedTag      = tag;
                return;
            }

            if (SelectedBindedTags.All(x => x.Tag.Id != tag.Id || x.Value != EnteredValue))
            {
                SelectedBindedTags.Add(new BindedTagVM(new BindedTag
                {
                    Tag   = tag,
                    Value = (tag.HasValue && !string.IsNullOrWhiteSpace(EnteredValue))
                            ? SelectedComparator + EnteredValue
                            : null,
                    SearchType = SearchType.Include
                }));
            }

            SearchString = string.Empty;
            OnSelectedTagsUpdated();
        }
示例#2
0
        private void UnselectTag(object param)
        {
            var tag = param as BindedTagVM;

            if (tag == null)
            {
                return;
            }

            var tagInList = SelectedBindedTags.FirstOrDefault(x => x.Tag.Id == tag.Tag.Id && x.Value == tag.Value);

            if (tagInList != null)
            {
                SelectedBindedTags.Remove(tagInList);
            }

            OnSelectedTagsUpdated();
        }
示例#3
0
        private void InvertSearchType(object param)
        {
            var tag = param as BindedTagVM;

            if (tag == null)
            {
                return;
            }

            var tagInList = SelectedBindedTags.FirstOrDefault(x => x.Tag.Id == tag.Tag.Id && x.Value == tag.Value);

            if (tagInList != null)
            {
                tagInList.SearchType = tagInList.SearchType == SearchType.Include
                                       ? SearchType.Exclude
                                       : SearchType.Include;
            }

            OnSelectedTagsUpdated();
        }
示例#4
0
        private void SelectBindedTag(object param)
        {
            var tag = param as BindedTagVM;

            if (tag == null)
            {
                return;
            }

            if (SelectedBindedTags.All(x => x.Tag.Id != tag.Tag.Id || x.Value != tag.Value))
            {
                SelectedBindedTags.Add(new BindedTagVM(new BindedTag
                {
                    Tag        = tag.Tag,
                    Value      = tag.Value,
                    SearchType = SearchType.Include
                }));
            }

            OnSelectedTagsUpdated();
        }