public ActionResult <string> Post([FromBody] UrlRequest urlRequest) { string longUrl; if (!(urlRequest.LongUrl.StartsWith("http://") || urlRequest.LongUrl.StartsWith("https://") || urlRequest.LongUrl.StartsWith("ftp://") || urlRequest.LongUrl.StartsWith("file://"))) { longUrl = "http://" + urlRequest.LongUrl; } else { longUrl = urlRequest.LongUrl; } Console.WriteLine("im here!"); if (UrlValidator.validator(longUrl)) { UrlRequest request = new UrlRequest() { LongUrl = longUrl }; UrlResorce shortUrl = urlMapper.setShortUrl(request); return(Ok(shortUrl)); } else { return(BadRequest()); } }
public UrlResorce setShortUrl(UrlRequest requestModel) { string url; Task <bool> search; do { url = ShortUrlCreator.GenerateShortUrl(); search = dbContext.Urls.AnyAsync(p => p.ShortUrl == url); search.Wait(); } while (search.Result); UrlResorce shortUrl = new UrlResorce { LongUrl = requestModel.LongUrl, ShortUrl = url }; dbContext.Urls.Add(shortUrl); dbContext.SaveChanges(); return(shortUrl); }