Exemple #1
0
        public async Task <UrlAddResponse> AddUrlAsync(string newUrlToAdd)
        {
            var validUrl = newUrlToAdd;
            var response = new UrlAddResponse();

            if (!validUrl.isValidUrl())
            {
                response.IsSuccess = false;
                response.Message   = $"The target url - { validUrl} is not valid";
                return(response);
            }
            try
            {
                var newUrl = await mapToDomainAsync(newUrlToAdd);

                await _urlRepo.CreateUrlAsync(newUrl);

                response.IsSuccess     = true;
                response.Message       = "Successfully created the url";
                response.newShortenUrl = newUrl.ShortenUrl;
                _logger.LogInformation(message: $"New Shorten Url with id{newUrl.id} created successfully");
            }
            catch (Exception ex)
            {
                response.IsSuccess = false;
                response.Message   = "An error occured while generating the Url";
                _logger.LogCritical(message: $"Error occured creating Url.......{ex}");
            }
            return(response);
        }
Exemple #2
0
 private static UrlViewModels BuildUrlVm(UrlAddResponse response)
 {
     return(new UrlViewModels
     {
         shortenedUrl = response.newShortenUrl,
         Message = response.Message
     });
 }