private List <Book> SortByTags(List <Book> books, string tags, int selectionSize)
        {
            var sortedList = books.Where(book => TagsUtils.NormalizeTags(tags).All(tag => book.Tags.Find(x => x.Value == tag) != null))
                             .Take(selectionSize)
                             .ToList();

            return(sortedList);
        }
Beispiel #2
0
        private List <Tag> GetTagsToAdd(string inputTags)
        {
            var inputTextArr = TagsUtils.NormalizeTags(inputTags);
            var result       = new List <Tag>();

            foreach (var tag in inputTextArr)
            {
                Tag foundTag = dbContext.Tags.Find(tag);
                if (foundTag != null)
                {
                    result.Add(foundTag);
                }
                else
                {
                    var newTag = new Tag {
                        Value = tag
                    };
                    result.Add(newTag);
                    dbContext.Tags.Add(newTag);
                }
            }
            dbContext.SaveChanges();
            return(result);
        }