public async Task <IEnumerable <Tag> > FindByNamesAndAddIfNotExists(IEnumerable <string> tags) { tags.NotNull(); var existingTags = await tagRepository.FindByNamesAsync(tags, t => t); var missingNames = tags.Where(t => !existingTags.Any(e => e.Name == t)); if (missingNames == null || missingNames.Count() == 0) { return(existingTags); } var dateCreated = DateTime.Now; var missingTags = missingNames.Select(name => new Tag() { Name = name, IsActive = true, DateCreated = dateCreated, DateLastUpdated = dateCreated }).ToList(); tagRepository.AddRange(missingTags); missingTags.AddRange(existingTags); return(missingTags); }
public IEnumerable <ITag> AddRange(IEnumerable <Tag> entities) { return(repository.AddRange(entities)); }