//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); }
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(); }