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); }
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(); }
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(); }
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(); }
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(); }
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(); }