public static EventTaskModel AddEventTask(this EventSourceModel that, string eventTaskName)
        {
            var maxEventTaskValue = that.Tasks.Max(k => k.Value) ?? 0;
            var newEventTask      = new EventTaskModel()
            {
                Name  = eventTaskName,
                Value = (maxEventTaskValue == 0 ? 1 : maxEventTaskValue * 2)
            };

            that.Tasks = that.Tasks.Add(newEventTask);

            return(newEventTask);
        }
        public static KeywordModel AddKeyword(this EventSourceModel that, string keywordName)
        {
            var maxKeywordValue = that.Keywords.Max(k => k.Value) ?? 0;
            var newKeyword      = new KeywordModel()
            {
                Name  = keywordName,
                Value = (maxKeywordValue == 0 ? 1 : maxKeywordValue * 2)
            };

            that.Keywords = that.Keywords.Add(newKeyword);

            return(newKeyword);
        }
 public static EventTaskModel GetEventTask(this EventSourceModel that, string keywordName)
 {
     return(that.Tasks.GetEventTask(keywordName));
 }
 public static KeywordModel GetKeyword(this EventSourceModel that, string keywordName)
 {
     return(that.Keywords.GetKeyword(keywordName));
 }
 public static ProjectItem GetItemForContent(this Project that, EventSourceModel eventSource)
 {
     return(that.ProjectItems.FirstOrDefault(item => (item.Content as EventSourceModel)?.Include == eventSource.Include));
 }