public async Task <CreateUrlResponse> Handle(CreateUrlCommand request, CancellationToken cancellationToken)
        {
            try
            {
                var shortUrl = await _repository.CreateAsync(request.TargetUrl, request.LanguageCode, request.VulgarPart);

                return(new CreateUrlResponse
                {
                    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 CreateUrlResponse
                {
                    IsSuccessful = false,
                    Errors = exception
                             .FromHierarchy(ex => ex.InnerException)
                             .Select(ex => new Error {
                        Message = ex.Message
                    })
                             .ToList()
                });
            }
        }