Articles.Web.Controllers.ArticlesController.GetTags C# (CSharp) Method

GetTags() private method

private GetTags ( ArticleModel model ) : ICollection
model ArticleModel
return ICollection
        private ICollection<Tag> GetTags(ArticleModel model)
        {
            var titleTags = model.Title.Split(' ');
            var allTags = new HashSet<string>(titleTags);

            foreach (var modelTag in model.Tags)
            {
                allTags.Add(modelTag.Name);
            }

            var articleTags = new HashSet<Tag>();
            foreach (var tagName in allTags)
            {
                var tag = this.data.Tags.All()
                    .FirstOrDefault(t => t.Name == tagName);
                if (tag == null)
                {
                    tag = new Tag { Name = tagName };
                    this.data.Tags.Add(tag);
                }

                articleTags.Add(tag);
            }

            return articleTags;
        }