Beispiel #1
0
        //END DECORATE EVENTS



        public static List <TagsCount> TagsThatHaveEvents()
        {
            List <TagsCount> list = null;

            DataProvider.ExecuteCmd(GetConnection, "dbo.EventTags_TagsWithEvents"
                                    , inputParamMapper : null                       //executes before stored proc
                                    , map : delegate(IDataReader reader, short set) //executes after stored proc
            {
                TagsCount p       = new TagsCount();
                int startingIndex = 0;    //startingOrdinal

                p.Id      = reader.GetInt32(startingIndex++);
                p.TagName = reader.GetString(startingIndex++);
                p.TagSlug = reader.GetString(startingIndex++);
                p.Count   = reader.GetInt32(startingIndex++);

                if (list == null)
                {
                    list = new List <TagsCount>();
                }
                list.Add(p);
            }
                                    );
            return(list);
        }
Beispiel #2
0
        public CollectibleViewModel(Collectible item, IReadOnlyReactiveProperty <string> searchtText, IList <Tag> tags)
        {
            OriginalTitle = item.Title;

            Tags = item.Tags.Select(t => new TagViewModel(t, this)).ToReactiveCollection();

            TagsCount = Tags.ObserveCountChanged(true).ToReadOnlyReactiveProperty();

            AddRandomTag = new ReactiveCommand(TagsCount.Select(t => t < 2));
            AddRandomTag.Subscribe(_ => Tags.Add(new TagViewModel(tags[Random.Range(0, tags.Count - 1)], this)));

            IsSelected = new ReactiveProperty <bool>();

            Title = searchtText.Select(searchVal =>
            {
                if (string.IsNullOrEmpty(searchVal))
                {
                    return(OriginalTitle);
                }

                try
                {
                    return(Regex.Replace(OriginalTitle, "(" + searchVal
                                         .Replace("[", "\\[")
                                         .Replace("]", "\\]")
                                         .Replace("(", "\\(")
                                         .Replace(")", "\\)") + ")",
                                         "<b>$1</b>", RegexOptions.IgnoreCase));
                }
                catch (Exception e)
                {
                    return(OriginalTitle);
                }
            }).ToReadOnlyReactiveProperty();
        }