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")); } }
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); }