Пример #1
0
 public List <UrlsData> GetAllUrls()
 {
     using (var db = new UrlsModel())
     {
         return(db.UrlsData.ToList());
     }
 }
Пример #2
0
 public UrlsData GetUrlData(string shortUrl)
 {
     using (var db = new UrlsModel())
     {
         return(db.UrlsData.Where(a => a.ShortUrl.Contains(shortUrl)).FirstOrDefault() as UrlsData);
     }
 }
Пример #3
0
        public ActionResult Index()
        {
            var urls = new UrlsModel();

            urls.Urls = typeof(TestController).GetMethods().Where(s => s.ReturnType == typeof(ActionResult)).Select(s => "/test/" + s.Name).ToList();
            return(View(urls));
        }
Пример #4
0
 public void UpdateClicks(string shortUrl)
 {
     using (var db = new UrlsModel())
     {
         var data = db.UrlsData.Where(a => a.ShortUrl.Contains(shortUrl)).FirstOrDefault() as UrlsData;
         if (data != null)
         {
             db.Entry(data).Property(a => a.Clicks).CurrentValue += 1;
             db.SaveChanges();
         }
     }
 }
Пример #5
0
 public void WriteUrlData(int id, string url, string shortUrl)
 {
     using (var db = new UrlsModel())
     {
         var urlData = new UrlsData()
         {
             Id           = id,
             InitialUrl   = url,
             ShortUrl     = shortUrl,
             CreationDate = DateTime.Now,
             Clicks       = 0
         };
         db.UrlsData.Add(urlData);
         db.SaveChanges();
     }
 }
Пример #6
0
        public async Task <HttpResponseMessage> Add([FromBody] UrlsModel objUrlsModel)
        {
            HttpRequestMessage request = new HttpRequestMessage();

            try
            {
                if (!ModelState.IsValid)
                {
                    return(request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState));
                }

                Urls objUrls = await Task.Run(() =>
                {
                    return(_urlsRepository.GetByUrl(objUrlsModel.url));
                });

                if (objUrls == null)
                {
                    objUrls = new Urls();

                    objUrls.Url      = objUrlsModel.url;
                    objUrls.ShortUrl = $"{Utilities.ShortUrl}{Utilities.GenerateRandomUrl()}";

                    await Task.Run(() =>
                    {
                        _urlsRepository.Add(objUrls);
                    });
                }
                else
                {
                    objUrls.Hits = objUrls.Hits + 1;

                    await Task.Run(() =>
                    {
                        _urlsRepository.Update(objUrls);
                    });
                }

                string jsonObject = Newtonsoft.Json.JsonConvert.SerializeObject(objUrls);

                return(request.CreateResponse(HttpStatusCode.OK, jsonObject, Configuration.Formatters.JsonFormatter));
            }
            catch (Exception ex)
            {
                return(request.CreateResponse(HttpStatusCode.BadRequest, ex.Message));
            }
        }
Пример #7
0
        public void CheckConnection()
        {
            using (var db = new UrlsModel())
            {
                bool isConnectionExist;
                var  connection = db.Database.Connection;

                try
                {
                    connection.Open();
                    isConnectionExist = true;
                }
                catch
                {
                    isConnectionExist = false;
                }

                Assert.True(isConnectionExist);
            }
        }