public async Task <IActionResult> Create(MovieVM movie) { if (ModelState.IsValid) { var client = _httpClientFactory.CreateClient("MMDB_API"); string uniqueFileName = UploadedFile(movie); MoviePutVM moviePost = new MoviePutVM { Title = movie.Title, Description = movie.Description, ReleaseDate = movie.ReleaseDate, DirectorId = movie.DirectorId, Poster = uniqueFileName }; var movieContent = new StringContent(JsonSerializer.Serialize(moviePost), Encoding.UTF8, "application/json"); var response = await client.PostAsync("movies", movieContent).ConfigureAwait(false); if (response.IsSuccessStatusCode) { return(RedirectToAction(nameof(Index))); } return(RedirectOnError(response, "Create", "create an movie", "creating an movie")); } return(View(movie)); }
// GET: Movies/Edit/5 public async Task <IActionResult> Edit(int id) { var client = _httpClientFactory.CreateClient("MMDB_API"); var response = await client.GetAsync("movies/" + id).ConfigureAwait(false); if (response.IsSuccessStatusCode) { using var responseStream = await response.Content.ReadAsStreamAsync().ConfigureAwait(false); MoviePutVM movie = await JsonSerializer.DeserializeAsync <MoviePutVM>(responseStream); return(View(movie)); } return(RedirectOnError(response, "Edit", "edit an movie", "getting the movie details")); }
public async Task <IActionResult> Edit(int id, MoviePutVM movie) { if (ModelState.IsValid) { var client = _httpClientFactory.CreateClient("MMDB_API"); var movieContent = new StringContent(JsonSerializer.Serialize(movie), Encoding.UTF8, "application/json"); var response = await client.PutAsync("movies/" + id, movieContent).ConfigureAwait(false); if (response.IsSuccessStatusCode) { return(RedirectToAction(nameof(Index))); } return(RedirectOnError(response, "Edit", "edit an movie", "saving the modified movie")); } return(View(movie)); }