예제 #1
0
        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));
        }
예제 #2
0
        // 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"));
        }
예제 #3
0
        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));
        }