public void CreateOrUpdate(UrlDTO url)
        {
            var mapper = AutoMapperConfigs.UrlDTOToUrlEntry.CreateMapper();

            var urlEntry = db.Urls.Get(url.Id);

            if (urlEntry != null)
            {
                urlEntry.FullUrl = url.FullUrl;

                urlEntry.RedirectionCount = url.RedirectionCount;

                GenerateShortUrl(urlEntry);

                db.Urls.Update(urlEntry);
            }
            else
            {
                urlEntry = mapper.Map <UrlEntry>(url);
                GenerateShortUrl(urlEntry);
                db.Urls.Create(urlEntry);
            }

            db.Save();
        }
Exemple #2
0
        public IHttpActionResult Post([FromBody] UrlDTO c)
        {
            try
            {
                //TODO: validate url

                if (!c.url.Contains("http"))
                {
                    c.url = "http://" + c.url;
                }

                c.tinyurl = new GenerateStringService().getString();

                //TODO: check if url already inserted

                //put in cache
                try { MockBD.URLS.TryAdd(c.tinyurl, c.url); } catch { }

                return(Created(Url.Link("DefaultApi", new { controller = "Url", id = c.tinyurl }), c));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
Exemple #3
0
        public void AddUrl(UrlDTO url)
        {
            if (_repository.GetItem(url.Id) != null)
            {
                throw new ValidationException("The url already exists", "");
            }

            _repository.AddItem(new UserUrl {
                Id = url.Id, Content = url.Content, Url = url.Url
            });
            _repository.Save();
        }
Exemple #4
0
        public UrlDTO Add(UrlDTO link)
        {
            _formUrlRepository.Add(new UrlModel
            {
                UrlId = link.UrlId,
                Url   = link.Url
            });

            _theaterScheduleUnitOfWork.Save();

            return(link);
        }
Exemple #5
0
        public void EditUrl(UrlDTO url)
        {
            UserUrl userUrl = _repository.GetItem(url.Id);

            if (userUrl == null)
            {
                throw new ValidationException("Url not found", "");
            }

            userUrl.Url     = url.Url;
            userUrl.Content = url.Content;

            _repository.EditItem(userUrl);
            _repository.Save();
        }
        public ActionResult <ApplicationUserDTO> AddUrl([FromBody] UrlDTO urlDTO)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var link = _service.Add(urlDTO);

            if (link == null)
            {
                throw new HttpStatusCodeException(
                          HttpStatusCode.NotFound, $"Unable to add link");
            }

            return(StatusCode(201, link));
        }
        public void AddUrls( UrlDTO[] urls )
        {
            SqlConnection conn = SW.Foundation.Data.DatabaseServer.SqlConnection;

            foreach( UrlDTO urlDTO in urls ) {

                SqlCommand cmd = new SqlCommand( "s_URLS_Add", conn );
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue( "@Id", urlDTO.Id );
                cmd.Parameters.AddWithValue( "@Url", urlDTO.Url );
                cmd.Parameters.AddWithValue( "@Rank", urlDTO.Rank );
                conn.Open();
                cmd.ExecuteNonQuery();
                conn.Close();

            };
        }
Exemple #8
0
        public void ShowMeTheCodeControllerRetornarUrlsGit()
        {
            var mockAplicShowMeTheCode = new Mock <IAplicShowMeTheCode>();

            var urls = new UrlDTO()
            {
                UrlGitTaxaJuros = "url1",
                UrlGitCalcJuros = "url2"
            };

            mockAplicShowMeTheCode.Setup(p => p.ShowMeTheCode()).Returns(urls);
            var controller = new ShowMeTheCodeController(mockAplicShowMeTheCode.Object);
            var retUrls    = controller.ShowMeTheCode();

            Assert.Equal(urls.UrlGitTaxaJuros, retUrls.UrlGitTaxaJuros);
            Assert.Equal(urls.UrlGitCalcJuros, retUrls.UrlGitCalcJuros);
        }
        public ActionResult <UrlDTO> Search(UrlDTO url)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            var urlService = new UrlService();
            var idhash     = urlService.Decode(url.Url);
            var result     = _dbContext.Urls.Where(x => x.IdHash == idhash)
                             ?.Select(x => x.LongUrl)
                             ?.FirstOrDefault();

            return(new UrlDTO()
            {
                Url = result
            });
        }
Exemple #10
0
        public async Task <ActionResult <UrlDTO> > Create(UrlDTO urlDto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            var url = new Url
            {
                LongUrl = urlDto.Url
            };

            await _dbContext.Urls.AddAsync(url);

            await _dbContext.SaveChangesAsync();

            var urlService = new UrlService();
            var shortUrl   = urlService.Encode(url.IdHash);

            return(new UrlDTO()
            {
                Url = shortUrl
            });
        }