Ejemplo n.º 1
0
        public async Task <ICollection <Tag> > AddOrUpdateTags(string[] tags)
        {
            var tagEntities = new List <Tag>();

            foreach (var tag in tags)
            {
                var tagEntity = await _tagRepository.Query().FirstOrDefaultAsync(x => x.Content == tag);

                if (tagEntity == null)
                {
                    tagEntity = await _tagRepository.AddAsync(new Tag()
                    {
                        Content = tag
                    });
                }
            }

            await _tagRepository.CommitAsync();

            tagEntities = tags.Select(x => _tagRepository.Query().FirstOrDefault(y => y.Content == x)).ToList();
            return(tagEntities);
        }