Example #1
0
 public RatingDto ToDto(RatingDbModel item)
 {
     return(new RatingDto
     {
         Id = item.Id,
         TestId = item.TestId,
         RatingList = _userRatingMapper.ToDtoList(item.UserRatings)
     });
 }
Example #2
0
        public void AddRating(int filmId, int userId, int generalImpression, int actorPlay, int scenario, int filming)
        {
            UserDbModel currentUser = _dbContext.FilmHubUsers.Include(u => u.Favourite)
                                      .Include(u => u.Comments)
                                      .Include(u => u.Bookmarks)
                                      .Include(f => f.Ratings)
                                      .FirstOrDefault(u => u.Id == userId);
            FilmDbModel currentFilm = _dbContext.FilmHubFilms.Include(f => f.Comments)
                                      .Include(f => f.Ratings)
                                      .FirstOrDefault(f => f.Id == filmId);
            RatingDbModel newRating = new RatingDbModel()
            {
                User = currentUser,
                Film = currentFilm,
                GeneralImpression = generalImpression,
                ActorPlay         = actorPlay,
                Scenario          = scenario,
                Filming           = filming
            };

            if (currentFilm.Ratings.Find(r => r.User == currentUser) != null)
            {
                RatingDbModel currentRating = _dbContext.Ratings.FirstOrDefault(rating => rating.User == currentUser && rating.Film == currentFilm);
                currentRating.Filming           = newRating.Filming;
                currentRating.Scenario          = newRating.Scenario;
                currentRating.ActorPlay         = newRating.ActorPlay;
                currentRating.GeneralImpression = newRating.GeneralImpression;

                FilmDbModel   film       = _dbContext.FilmHubFilms.FirstOrDefault(f => f.Id == currentFilm.Id);
                RatingDbModel filmRating = film.Ratings.FirstOrDefault(r => r.User == currentUser);
                filmRating.Filming           = newRating.Filming;
                filmRating.Scenario          = newRating.Scenario;
                filmRating.ActorPlay         = newRating.ActorPlay;
                filmRating.GeneralImpression = newRating.GeneralImpression;
            }
            else
            {
                currentFilm.Ratings.Add(newRating);
                currentUser.Ratings.Add(newRating);
                _dbContext.Ratings.Add(newRating);
            }

            UpdateRating(currentFilm.Id);
            _dbContext.SaveChanges();
        }