public void AddShortenedURLMapping(URLMapping urlMapping)
 {
     using (var context = new TinyURLEntities())
     {
         context.URLMappings.Add(urlMapping);
         context.SaveChanges();
     }
 }
Esempio n. 2
0
        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));
        }