public FilmListViewModel LaunchBranchYear(UserSeenFilmListViewModel userSeenFilms, FilmListViewModel films) { FilmListViewModel filmsWithFavoriteYears = new FilmListViewModel(); List <int> favoriteYears = findFavoriteYears(userSeenFilms, films); filmsWithFavoriteYears = findFilmsWithFavoriteYears(favoriteYears, films); return(filmsWithFavoriteYears); }
public FilmListViewModel LaunchBranchDirector(UserSeenFilmListViewModel userSeenFilms, FilmListViewModel films) { FilmListViewModel filmsWithFavoriteDirector = new FilmListViewModel(); List <string> favoriteDirector = findFavoriteDirector(userSeenFilms, films); filmsWithFavoriteDirector = findFilmsWithFavoriteDirectors(favoriteDirector, films); return(filmsWithFavoriteDirector); }
public FilmListViewModel LaunchBranchGenre(UserSeenFilmListViewModel userSeenFilms, FilmListViewModel films) { FilmListViewModel filmsWithFavoriteGenre = new FilmListViewModel(); List <string> favoriteGenre = findFavoriteGenre(userSeenFilms, films); filmsWithFavoriteGenre = findFilmsWithFavoriteGenre(favoriteGenre, films); return(filmsWithFavoriteGenre); }
//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); }
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); }
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); }
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; } }
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); }