Exemple #1
0
        public Film GetCurrentFilmInfo(int currentFilmId)
        {
            FilmDbModel dbCurrentFilm = _dbContext.FilmHubFilms.Include(f => f.Comments)
                                        .Include(f => f.Ratings)
                                        .FirstOrDefault(f => f.Id == currentFilmId);
            Film currentFilm = new Film
            {
                Title    = dbCurrentFilm.Title,
                Year     = dbCurrentFilm.Year,
                Genre    = dbCurrentFilm.Genre,
                Director = dbCurrentFilm.Director,
                Summary  = dbCurrentFilm.Summary,
                Time     = dbCurrentFilm.Time,
                Age      = dbCurrentFilm.Age,
                Country  = dbCurrentFilm.Country,
                Actors   = dbCurrentFilm.Actors,
                Image    = dbCurrentFilm.Image,
                Trailer  = dbCurrentFilm.Trailer,
                Comments = dbCurrentFilm.Comments.Select(c => new Comment()).ToList(),
                Ratings  = dbCurrentFilm.Ratings.Select(r => new Rating()).ToList(),
                Rating   = dbCurrentFilm.Rating
            };

            return(currentFilm);
        }
Exemple #2
0
        public void AddToAdvised(int currentFilmId, int userIdToAdvise)
        {
            UserDbModel currentUser = _dbContext.FilmHubUsers.Include(u => u.Favourite)
                                      .Include(u => u.Comments)
                                      .Include(u => u.Bookmarks)
                                      .Include(u => u.Ratings)
                                      .Include(u => u.AdvisedFilms).FirstOrDefault(u => u.Id == userIdToAdvise);
            FilmDbModel currentFilm = _dbContext.FilmHubFilms.Include(f => f.Comments)
                                      .Include(f => f.Ratings)
                                      .FirstOrDefault(f => f.Id == currentFilmId);

            currentUser.AdvisedFilms.Add(currentFilm);
            _dbContext.SaveChanges();
        }
Exemple #3
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();
        }
Exemple #4
0
        public void SaveToDb(string id, ApplicationDbContext context, int type, bool arg, ApplicationUser user)
        {
            FilmDbModel dbFilm;
            var         found = false;

            try
            {
                dbFilm = context.UserFilms.Single(e => e.Id == id && e.User.Id == user.Id);
                found  = true;
            }
            catch (Exception)
            {
                dbFilm = new FilmDbModel {
                    User = user, Id = id
                };
            }

            switch (type)
            {
            case 0:
                dbFilm.InFavourites = true;
                break;

            case 1:
                dbFilm.InHistory = true;
                break;

            case 2:
                dbFilm.InFavourites = false;
                break;

            case 3:
                dbFilm.InHistory = false;
                break;

            default:
                return;
            }
            if (!found)
            {
                context.UserFilms.Add(dbFilm);
            }
            context.SaveChanges();
        }
Exemple #5
0
        public void SaveToDb(string id, ApplicationDbContext context, int rate, string userId)
        {
            FilmDbModel dbFilm;
            var         found = false;

            try
            {
                dbFilm = context.UserFilms.Single(e => e.Id == id && e.User.Id == userId);
                found  = true;
            }
            catch (Exception)
            {
                dbFilm = new FilmDbModel();
            }
            dbFilm.UserRating = rate;
            if (!found)
            {
                context.UserFilms.Add(dbFilm);
            }
            context.SaveChanges();
        }
Exemple #6
0
        public void LeaveComment(string comment, int userId, int filmId)
        {
            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);
            CommentDbModel newComment = new CommentDbModel
            {
                User  = currentUser,
                Film  = currentFilm,
                Text  = comment,
                Time  = $"{DateTime.Now.ToLongDateString()} {DateTime.Now.ToShortTimeString()}",
                Likes = 0
            };

            _dbContext.Comments.Add(newComment);
            _dbContext.SaveChanges();
        }