public IActionResult Rate(MovieVoteBindingModel model) { if (!ModelState.IsValid) { SetMessage(MessageType.Info, "An error occured"); return(this.RedirectToAction("Details", new { id = model.MovieId })); } var result = this.movieService.AddEditMovieVote(model); SetMessage(MessageType.Info, $"You rated the movie with {model.Vote}"); return(this.RedirectToAction("Details", new { id = model.MovieId })); }
public MovieVoteBindingModel AddEditMovieVote(MovieVoteBindingModel model) { var existingVote = DbContext.MovieVotes .FirstOrDefault(mv => mv.UserId == model.UserId && mv.MovieId == model.MovieId); if (existingVote == null) { var newVote = Mapper.Map <MovieVotes>(model); DbContext.MovieVotes.Add(newVote); DbContext.SaveChanges(); } else { Mapper.Map(model, existingVote); DbContext.SaveChanges(); } return(model); }