public void AddShortenedURLMapping(URLMapping urlMapping) { using (var context = new TinyURLEntities()) { context.URLMappings.Add(urlMapping); context.SaveChanges(); } }
public IHttpActionResult GetTinyUrl(RequestCarrier requestCarrier) { ResponseCarrier response; if (requestCarrier != null && requestCarrier.PayLoad != null) { string longUrl = requestCarrier.PayLoad.ToString(); string shortenURL = _tinyUrlGenerator.GetTinyURL(longUrl); if (_tinyURLRepository.IsExist(shortenURL)) { shortenURL = _tinyUrlGenerator.GetTinyURL(longUrl); } if (!string.IsNullOrEmpty(shortenURL)) { URLMapping mapping = new URLMapping() { TinyUrl = shortenURL, Url = longUrl }; _tinyURLRepository.AddShortenedURLMapping(mapping); response = new ResponseCarrier() { Status = true, PayLoad = shortenURL, ErrorMessage = string.Empty }; } else { response = new ResponseCarrier() { Status = false, PayLoad = null, ErrorMessage = "Request URL not provided." }; } } else { response = new ResponseCarrier() { Status = false, PayLoad = null, ErrorMessage = "Request URL not provided." }; } return(Json(response)); }