Beispiel #1
0
        public FilmListViewModel LaunchBranchYear(UserSeenFilmListViewModel userSeenFilms, FilmListViewModel films)
        {
            FilmListViewModel filmsWithFavoriteYears = new FilmListViewModel();
            List <int>        favoriteYears          = findFavoriteYears(userSeenFilms, films);

            filmsWithFavoriteYears = findFilmsWithFavoriteYears(favoriteYears, films);
            return(filmsWithFavoriteYears);
        }
Beispiel #2
0
        public FilmListViewModel LaunchBranchDirector(UserSeenFilmListViewModel userSeenFilms, FilmListViewModel films)
        {
            FilmListViewModel filmsWithFavoriteDirector = new FilmListViewModel();
            List <string>     favoriteDirector          = findFavoriteDirector(userSeenFilms, films);

            filmsWithFavoriteDirector = findFilmsWithFavoriteDirectors(favoriteDirector, films);
            return(filmsWithFavoriteDirector);
        }
Beispiel #3
0
        public FilmListViewModel LaunchBranchGenre(UserSeenFilmListViewModel userSeenFilms, FilmListViewModel films)
        {
            FilmListViewModel filmsWithFavoriteGenre = new FilmListViewModel();
            List <string>     favoriteGenre          = findFavoriteGenre(userSeenFilms, films);

            filmsWithFavoriteGenre = findFilmsWithFavoriteGenre(favoriteGenre, films);
            return(filmsWithFavoriteGenre);
        }
Beispiel #4
0
        //public bool checkIfTvShowsListIsEmpty(FilmListViewModel films) {
        //    if (films.Films.Count == 0)
        //    {
        //        return true;
        //    }
        //    else return false;
        //}
        //public bool checkIfSeenTVShowsListIsEmpty(UserSeenFilmListViewModel films)
        //{
        //    if (films.UserSeenFilms.Count == 0)
        //    {
        //        return true;
        //    }
        //    else return false;
        //}

        public bool checkIfAllFilmsAreSeen(FilmListViewModel films, UserSeenFilmListViewModel userSeenFilms)
        {
            if (films.Films.Count == userSeenFilms.UserSeenFilms.Count)
            {
                return(true);
            }
            return(false);
        }
Beispiel #5
0
        public List <string> findFavoriteGenre(UserSeenFilmListViewModel userSeenFilms, FilmListViewModel films)
        {
            List <string> favoriteGenres      = new List <string>();
            var           seenFilmsWithGenres = (from objA in films.Films
                                                 join objB in userSeenFilms.UserSeenFilms on objA.Id equals objB.FilmId
                                                 select objA).ToList();
            var pairs     = seenFilmsWithGenres.GroupBy(value => value.Genre).OrderByDescending(group => group.Count());
            int modeCount = pairs.First().Count();

            favoriteGenres = pairs.Where(pair => pair.Count() == modeCount).Select(pair => pair.Key).ToList();
            return(favoriteGenres);
        }
Beispiel #6
0
        public List <int> findFavoriteYears(UserSeenFilmListViewModel userSeenFilms, FilmListViewModel films)
        {
            var seenFilmsWithDirectors = (from objA in films.Films
                                          join objB in userSeenFilms.UserSeenFilms on objA.Id equals objB.FilmId
                                          select objA /*or objB*/).ToList();
            var        pairs         = seenFilmsWithDirectors.GroupBy(value => value.ReleaseYear).OrderByDescending(group => group.Count());
            int        modeCount     = pairs.First().Count();
            List <int> favoriteYears = pairs.Where(pair => pair.Count() == modeCount)
                                       .Select(pair => pair.Key)
                                       .ToList();

            return(favoriteYears);
        }
Beispiel #7
0
        public async Task <UserSeenFilmListViewModel> GetAllUserSeenFilms(int id)
        {
            try
            {
                var model = new UserSeenFilmListViewModel()
                {
                    UserSeenFilms = _mapper.Map <List <UserSeenFilmViewModel> >(_context.UserSeenFilms.Where(e => e.UserId == id).Include(e => e.Film).Include(e => e.User))
                };

                return(model);
            }
            catch (Exception e)
            {
                throw e.InnerException;
            }
        }
Beispiel #8
0
        public FilmListViewModel RemoveAlreadySeenFilms(FilmListViewModel potentiallyRecommendedFilms, UserSeenFilmListViewModel seenFilms)
        {
            FilmListViewModel result = new FilmListViewModel();

            result.Films = potentiallyRecommendedFilms.Films.Where(film => seenFilms.UserSeenFilms.All(seenFilm => film.Id != seenFilm.FilmId)).ToList();
            return(result);
        }