public async Task <ActionResult> CreateNewMovie(MovieWithCategoryNameDto movie) { Category category = await _unitOfWork.Categories.GetCategoryByNameAsync(movie.CategoryName); if (category != null) { Movie newMovie = new Movie() { Title = movie.Title, CategoryId = category.Id, Category = category, Duration = movie.Duration, Year = movie.Year }; try { await _unitOfWork.Movies.AddAsync(newMovie); await _unitOfWork.SaveChangesAsync(); return(CreatedAtAction(nameof(GetMovieByIdAsync), new { id = newMovie.Id }, newMovie)); } catch (ValidationException ex) { return(BadRequest(ex.Message)); } } else { return(NotFound()); } }
public async Task <ActionResult> ModifyMovie(int id, MovieWithCategoryNameDto newMovie) { Movie movie = await _unitOfWork.Movies.GetByIdAsync(id); Category newCategory = await _unitOfWork.Categories.GetCategoryByNameAsync(newMovie.CategoryName); if (movie != null && newCategory != null) { movie.Title = newMovie.Title; movie.Category = newCategory; movie.CategoryId = newCategory.Id; movie.Year = newMovie.Year; movie.Duration = newMovie.Duration; try { return(Ok(await _unitOfWork.SaveChangesAsync())); } catch (ValidationException ex) { return(BadRequest(ex.Message)); } } else { return(NotFound("Die Kategorie oder der Film wurde nicht gefunde")); } }