public async Task <IActionResult> CreateShortName(string urlName) { if (string.IsNullOrWhiteSpace(urlName)) { return(Content("Respect yourself pleaase....")); } var erl = new Uri(urlName); Console.WriteLine($"{erl.ToString()}"); var urlString = new UrlRequestDto(); urlString.OriginalUrl = erl.OriginalString; var urlink = new uLinker() { id = Guid.NewGuid(), UrlShortName = await _linker.GenerateShortName(), OriginalUrl = urlName }; try { await _linker.AddUrl(urlink); } catch (Exception e) { _logger.LogCritical(e.Message); } //string baseUrl = string.Format("{0}://{1}", this.Request.Scheme, this.Request.Host.Value.ToString()); var baseUrl = $"{this.Request.Scheme}://{this.Request.Host.Value.ToString()}"; string bUrl = $"{HttpContext.Request.Scheme}://{HttpContext.Request.Host.Value.ToString()}"; //const string domainUrl = @"http://localhost:5001"; TempData["OriginalUrl"] = urlName; TempData["shortUrl"] = $"https://localhost:5001/{urlink.UrlShortName}"; var urlVm = new UrlViewModels() { shortenedUrl = $"{bUrl}/{urlink.UrlShortName}", OriginalUrl = urlName }; return(RedirectToAction("Index", urlVm)); }
public async Task <IActionResult> UrlRedirect(string shortName) { if (!string.IsNullOrWhiteSpace(shortName)) { //Error might occur on non instantiated variable e.g UrlGetResponse...... var UrlToRedirect = await _urlService.GetOriginalUrlByNameAsync(shortName); if (UrlToRedirect.IsSuccess == true) { return(RedirectPermanent(UrlToRedirect.OriginalUrl)); } else { var urlVm = new UrlViewModels { Message = UrlToRedirect.Message }; return(RedirectToAction("Index", urlVm)); } } return(RedirectToAction("Index")); }
public async Task <IActionResult> GenerateShortUrl(string newUrl) { if (!string.IsNullOrWhiteSpace(newUrl)) { return(Content("The specified Url is wrong")); } //var response = new UrlAddResponse(); var urlVm = new UrlViewModels(); var response = await _urlService.AddUrlAsync(newUrl); if (response.IsSuccess == false) { urlVm.Message = response.Message; return(RedirectToAction("Index", urlVm)); } urlVm = BuildUrlVm(response); urlVm.OriginalUrl = newUrl; return(RedirectToAction("Index", urlVm)); }