public async Task <GetLatestUrlResponse> Handle(GetLatestUrlQuery request, CancellationToken cancellationToken) { try { var shortUrl = await _repository.GetLatestAsync(request.LanguageCode); return(new GetLatestUrlResponse { IsSuccessful = true, Adjective = shortUrl.Adjective.ToTerm(), Adverb = shortUrl.Adverb.ToTerm(), Noun = shortUrl.Noun.ToTerm(), Url = shortUrl.FullUri.ToString(), DateCreated = shortUrl.DateCreated, TargetUrl = shortUrl.TargetUrl, Language = request.LanguageCode }); } catch (Exception exception) { return(new GetLatestUrlResponse { IsSuccessful = false, Errors = exception .FromHierarchy(ex => ex.InnerException) .Select(ex => new Error { Message = ex.Message }) .ToList() }); } }