Example #1
0
        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);
        }
Example #2
0
        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);
        }