public IActionResult Post([FromBody] ShortenedUrlCreateDto value)
        {
            if (value == null)
            {
                return(BadRequest());
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var newUrl = Mapper.Map <ShortenedUrlEntity>(value);

            newUrl.CreationDate = DateTime.Now;

            _urlShortenerRepository.Add(newUrl);

            if (!_urlShortenerRepository.Save())
            {
                return(StatusCode(500, "A problem happened while handling your request"));
            }

            return(CreatedAtRoute("GetShortenedUrl", new { newUrl.Id }, newUrl));
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> ShortenUrl(ShortenedUrlCreateDto model)
        {
            if (!ModelState.IsValid)
            {
                return(View("Index", model));
            }

            var response = new HttpResponseMessage();

            using (var client = new HttpClient())
            {
                var jsonModel = JsonConvert.SerializeObject(model);
                response = await client.PostAsync($"{_api.ApiEndPoint}", new StringContent(jsonModel, Encoding.UTF8, "application/json"));
            }

            if (!response.IsSuccessStatusCode)
            {
                ModelState.AddModelError("", response.ReasonPhrase);
                return(View("Index", model));
            }

            return(RedirectToAction("Index"));
        }