public IHttpActionResult Post(MovieRatingViewModel movierating) { var loggedUserId = HttpContext.Current.GetOwinContext().GetUserId(); movierating.UserCreated = new Models.Users.UserViewModel() { Id = loggedUserId }; movierating.Datecreated = DateTimeOffset.Now; var request = new SaveMovieRatingRequest() { RequestToken = Guid.NewGuid(), UserId = loggedUserId, MovieRating = movierating.MapToView() }; var movieratingsResponse = _movieratingService.SaveMovieRating(request); if (!movieratingsResponse.Success) { return(BadRequest(movieratingsResponse.Message)); } return(Ok(movierating = movieratingsResponse.MovieRating.MapToViewModel())); }
public IHttpActionResult Put(int id, MovieRatingViewModel movierating) { var loggedUserId = HttpContext.Current.GetOwinContext().GetUserId(); if (ModelState.IsValid) { var request = new SaveMovieRatingRequest() { RequestToken = Guid.NewGuid(), UserId = loggedUserId, MovieRating = movierating.MapToView() }; var movieratingsResponse = _movieratingService.SaveMovieRating(request); if (!movieratingsResponse.Success) { return(BadRequest(movieratingsResponse.Message)); } return(Ok(movierating = movieratingsResponse.MovieRating.MapToViewModel())); } else { return(BadRequest()); } }
/// <summary> /// Maps Api.Models.MovieRatingViewModel into Messaging.Views.MovieRating /// </summary> /// <param name="viewModel"></param> /// <returns> Messaging.Views.MovieRating</returns> public static MovieRating MapToView(this MovieRatingViewModel viewModel) { if (viewModel == null) { return(null); } return(new MovieRating() { MovieId = viewModel.MovieId, UserRatedId = viewModel.UserRatedId, DateCreated = viewModel.Datecreated, Rating = viewModel.Rating, UserCreated = viewModel.UserCreated.MapToView() }); }
public async Task <IActionResult> RateMovie([FromBody] MovieRatingViewModel value) { try { var results = await moviesService.RateMovieAsync(value.MovieId, value.UserId, value.Rating); return(Ok(results)); } catch (InvalidRatingException e) { return(BadRequest(e.Message)); } catch (Exception e) when(e is MovieNotFoundException || e is UserNotFoundException) { return(NotFound(e.Message)); } }
public async Task <ActionResult <MovieRatingViewModel> > PostMovieRating(MovieRatingViewModel viewModel) { try { var entity = GetMapperMovieRatingViewModelToMovieRating(viewModel); var model = await _movieRatingRepository.Add(entity); return(GetMapperMovieRatingToMovieRatingViewModel(model)); } catch (InvalidDataException e) { return(BadRequest(new { message = e.Message })); } catch (Exception e) { return(StatusCode(StatusCodes.Status500InternalServerError, new { message = e.Message })); } }
public async Task <IActionResult> PatchMovieRating(int id, MovieRatingViewModel viewModel) { try { var entity = GetMapperMovieRatingViewModelToMovieRating(viewModel); await _movieRatingRepository.Update(id, entity); return(NoContent()); } catch (MovieRatingNotFoundException e) { return(NotFound(new { message = e.Message })); } catch (Exception e) { return(StatusCode(StatusCodes.Status500InternalServerError, new { message = e.Message })); } }
// GET: Movies public async Task <IActionResult> Index(string movieGenre, string searchString, string ratingCriteria) { // Use LINQ to get list of genres. IQueryable <string> genreQuery = from m in _context.Movie orderby m.Genre select m.Genre; // Use LINQ to get list of ratingCriteria IQueryable <string> ratingQuery = from r in _context.Movie orderby r.Rating select r.Rating; var movies = from m in _context.Movie select m; if (!String.IsNullOrEmpty(searchString)) { movies = movies.Where(s => s.Title.Contains(searchString)); // Lambda Expression } if (!String.IsNullOrEmpty(movieGenre)) { movies = movies.Where(x => x.Genre.Contains(movieGenre)); } if (!String.IsNullOrEmpty(ratingCriteria)) { movies = movies.Where(y => y.Rating.Contains(ratingCriteria)); } var movieRatingVM = new MovieRatingViewModel { RatingCriteria = new SelectList(await ratingQuery.Distinct().ToListAsync()), Movies = await movies.ToListAsync() }; var movieGenreVM = new MovieGenreViewModel { Genres = new SelectList(await genreQuery.Distinct().ToListAsync()), Movies = await movies.ToListAsync() }; return(View(movieGenreVM)); }
public async Task <IActionResult> Rating( [FromRoute] int movieId, [FromBody] MovieRatingViewModel model) { if (!ModelState.IsValid) { return(BadRequest()); } var movie = await _movieRepository.Get(movieId); if (movie == null) { return(NotFound()); } movie.UpdateRating(model.Rating); await _movieRepository.Save(); return(NoContent()); }
public IActionResult MoviePage(int MovieID) { movie = movieCollection.GetMovie(MovieID); MovieRatingViewModel model = new MovieRatingViewModel() { MovieID = movie.MovieID, MovieTitle = movie.MovieTitle, MovieInfo = movie.MovieInfo, MovieSummary = movie.MovieSummary, Poster = movie.Poster, Director = movie.Director, Stars = movie.Stars, Trailer = movie.Trailer, Writers = movie.Writers, }; List <Rating> ratings = ratingCollection.GetRatingsMovie(MovieID); model.Ratings = ratings; return(View(model)); }
private MovieRating GetMapperMovieRatingViewModelToMovieRating(MovieRatingViewModel viewModel) { return(_mapper.Map <MovieRating>(viewModel)); }