示例#1
0
        public void EditItem()
        {
            var list = _service.Get();

            if (!IsEmpty(list))
            {
                // retriving guid of the item to edit
                Guid itemGuid = list[0].Id;

                UrlShortenerInput newItem = new UrlShortenerInput()
                {
                    URL       = "http://localhost/",
                    ShortLink = "My app"
                };

                var response = _service.Edit(itemGuid, newItem);

                Assert.AreNotEqual(list[0].URL, Input.URL);
                Assert.AreNotEqual(list[0].ShortLink, Input.ShortLink);
            }
        }
示例#2
0
        public ResponseHandler Create(UrlShortenerInput input)
        {
            var itemDb = GetBy(input.ShortLink);

            if (itemDb != null)
            {
                return(new ResponseHandler(400, "ShortLink already exist"));
            }

            UrlShortenerModel newItem = new UrlShortenerModel()
            {
                Id           = Guid.NewGuid(),
                ShortLink    = input.ShortLink,
                URL          = input.URL,
                CreationDate = DateTime.Now
            };

            _data.urlLinks.Add(newItem);

            return(new ResponseHandler(200, "Item created"));
        }
示例#3
0
        public ResponseHandler Edit(Guid id, UrlShortenerInput input)
        {
            var item = _data.urlLinks.FirstOrDefault(x => x.Id == id);

            if (item == null)
            {
                return(new ResponseHandler(404, "Item not found"));
            }

            var itemDb = GetBy(input.ShortLink);

            if (itemDb != null && itemDb.Id != id)
            {
                return(new ResponseHandler(400, "ShortLink already exist"));
            }


            item.ShortLink  = input.ShortLink;
            item.URL        = input.URL;
            item.UpdateDate = DateTime.Now;

            return(new ResponseHandler(200, "Item updated"));
        }
示例#4
0
        public IActionResult Put(Guid id, [FromBody] UrlShortenerInput input)
        {
            var response = _service.Edit(id, input);

            return(StatusCode(response.StatusCode, response.Message));
        }
示例#5
0
        public IActionResult Post([FromBody] UrlShortenerInput input)
        {
            var response = _service.Create(input);

            return(StatusCode(response.StatusCode, response.Message));
        }