Example #1
0
        public async Task <ActionResult> Create(DogForCreationDTO model)
        {
            DogForCreationDTO dog = new DogForCreationDTO()
            {
                Breed          = model.Breed,
                ChipNumber     = model.ChipNumber,
                DateOfBirth    = model.DateOfBirth,
                Gender         = model.Gender,
                Name           = model.Name,
                TrainingCourse = model.TrainingCourse
            };
            var serializedDogForCreation = JsonSerializer.Serialize(model);
            var httpClient = httpClientFactory.CreateClient("MilitaryDogsClient");
            var request    = new HttpRequestMessage(HttpMethod.Post, "api/Dog");

            request.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
            request.Headers.AcceptEncoding.Add(new StringWithQualityHeaderValue("gzip"));

            request.Content = new StringContent(
                serializedDogForCreation,
                System.Text.Encoding.Unicode,
                "application/json");

            using (var response = await httpClient.SendAsync(request, HttpCompletionOption.ResponseHeadersRead))
            {
                if (!response.IsSuccessStatusCode)
                {
                    var errorStream = await response.Content.ReadAsStreamAsync();

                    var error = errorStream.ReadAndDeserializeFromJson();
                    return(View("Error"));
                }
                else
                {
                    response.EnsureSuccessStatusCode();
                }
                var stream = await response.Content.ReadAsStreamAsync();

                var createdDog = stream.ReadAndDeserializeFromJson <DogDTO>();

                return(RedirectToAction("Index", "Dog"));
            }
        }
Example #2
0
        public ActionResult <DogDTO> Post([FromBody] DogForCreationDTO model)
        {
            var            dog            = mapper.Map <Dog>(model);
            TrainingCourse trainingCourse = trainingCourseService.GetBy(t => t.Name == model.TrainingCourse);
            Dog            dogToInsert    = new Dog()
            {
                Breed          = dog.Breed,
                ChipNumber     = dog.ChipNumber,
                DateOfBirth    = dog.DateOfBirth,
                Gender         = dog.Gender,
                Name           = dog.Gender,
                TrainingCourse = trainingCourse
            };

            dogService.Insert(dog);
            DogDTO dogDTO = mapper.Map <DogDTO>(dog);

            return(Ok(dogDTO));
            //  return Created($"api/dogs/get/{dogDTO.Name}", dogDTO);
        }