public async Task CreateKeywordAsync(KeywordDTO keywordDTO) { var keyword = _mapper.Map <Keyword>(keywordDTO); var resources = _mapper.Map <List <Resource> >(keywordDTO.Resources); keyword.KeywordResources = new List <KeywordResource>(); foreach (Resource resource in resources) { var existedResourse = await _resourceRepository.UrlExists(resource.UrlAddress); if (existedResourse != default) { _keywordRepository.AddResourceToKeyword(new KeywordResource { Resource = existedResourse, Keyword = keyword }); } else { _keywordRepository.AddResourceToKeyword(new KeywordResource { Resource = resource, Keyword = keyword }); } } _keywordRepository.Add(keyword); await _context.SaveChangesAsync(); }