private async Task <Language> GetOrCreateLanguageAsync(CreateBookCommand request, CancellationToken cancellationToken) { var language = request.LanguageName is not null ? await _languageRepository.FindByNameAsync(request.LanguageName) ?? _languageRepository.Add(new Language(request.LanguageName)) : null; await _languageRepository.UnitOfWork.SaveChangesAsync(cancellationToken); return(language); }
public async Task <Language> FindByNameAsync(string name) { _logger.LogInfoMethodStarted <Language>(LanguageRepositoryType, nameof(FindByNameAsync), new object[] { name }); var result = await _languageRepository.FindByNameAsync(name); if (result is null) { _logger.LogWarningNotFound <Language>(LanguageRepositoryType, nameof(FindByNameAsync), new object[] { name }); } _logger.LogInfoMethodEnded(LanguageRepositoryType, nameof(FindByNameAsync), result); return(result); }