public async Task AddBookAsync(BookDetails book) { List <Language> languages = new List <Language>(); foreach (var abbriviation in book.Languages) { Language entity = languageRepository.GetByAbbriviation(abbriviation); if (entity == null) { entity = await languageRepository.AddLanguageAsync(new Language() { Abbriviation = abbriviation, Name = GetLanguageNameByAbbriviation(abbriviation) }); } languages.Add(entity); } await bookRepository.AddAsync(book); }