public async Task <IActionResult> GetMovie(int id) { var movie = await _context.Movies.Include(x => x.Photos).FirstOrDefaultAsync(x => x.Id == id); var movieForReturn = new MovieForListDto(); var mappedMovie = _mapper.Map(movie, movieForReturn); movieForReturn.Photos = movieForReturn.Photos.OrderByDescending(x => x.isMain == true); return(Ok(mappedMovie)); }
public IActionResult AddMovie([FromForm] MovieForAddingDto movieForAddingDto) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var file = movieForAddingDto.File; var uploadResult = new ImageUploadResult(); if (file.Length > 0) { using (var stream = file.OpenReadStream()) { var uploadParams = new ImageUploadParams() { File = new FileDescription(file.Name, stream), Transformation = new Transformation().Width(300).Height(450) }; uploadResult = _cloudinary.Upload(uploadParams); } movieForAddingDto.PublicId = uploadResult.PublicId; movieForAddingDto.PhotoUrl = uploadResult.Uri.ToString(); } var movie = _mapper.Map <Movie>(movieForAddingDto); var photo = new Photo { Url = movieForAddingDto.PhotoUrl, PublicId = movieForAddingDto.PublicId, Movie = movie }; if (!movie.Photos.Any()) { photo.isMain = true; } movie.Photos.Add(photo); _context.Movies.Add(movie); var movieToReturn = new MovieForListDto(); _context.SaveChanges(); _mapper.Map(movie, movieToReturn); return(Ok(movieToReturn)); }
public async Task CallGetRequest_WhenCalled_ReturnsAllMovies() { getMoviesHelper getMoviesHelper = new getMoviesHelper(); List <TblMovie> movieList = getMoviesHelper.getMovieFromList(); List <MovieForListDto> movieForListDtos = new List <MovieForListDto>(3); for (int i = 0; i < movieList.Count; i++) { MovieForListDto movieForListDto = new MovieForListDto(); movieForListDto.ATitle = movieList[i].ATitle; movieForListDto.AMovieId = movieList[i].AMovieId; movieForListDto.AMovieDescription = movieList[i].AMovieDescription; movieForListDto.ADuration = movieList[i].ADuration; movieForListDto.AGenre = movieList[i].AGenre; movieForListDto.AImageLink = movieList[i].AImageLink; movieForListDto.APrice = movieList[i].APrice; movieForListDto.ATrailerLink = movieList[i].ATrailerLink; movieForListDto.ARating = movieList[i].ARating; movieForListDto.APurchasePrice = movieList[i].APurchasePrice; movieForListDtos.Add(movieForListDto); } _mockMovieRepository = new Mock <IMovieRepository>(); _mockMovieMapper = new Mock <IMapper>(); _mockMovieMapper.Setup(mapper => mapper.Map <IEnumerable <MovieForListDto> >(It.IsAny <TblMovie[]>())).Returns(movieForListDtos); _mockMovieRepository.Setup(repo => repo.GetMovies(new MovieParams { })) .ReturnsAsync(getMoviesHelper.getMovieFromList()); _moviesController = new MoviesController(_mockMovieRepository.Object, _mockMovieMapper.Object); var movies = await _moviesController.GetMovies(new MovieParams {}); var okResult = movies as OkObjectResult; var result = ((OkObjectResult)movies).Value; Assert.AreEqual(result, movieForListDtos); Assert.AreEqual(200, okResult.StatusCode); Assert.NotNull(movies); Assert.IsAssignableFrom <OkObjectResult>(movies); }