public TVShowsListViewModel LaunchBranchYear(UserSeenTvShowListViewModel userSeenTvShows, TVShowsListViewModel tvShows) { TVShowsListViewModel tvShowsWithFavoriteYears = new TVShowsListViewModel(); List <int> favoriteYears = findFavoriteYears(userSeenTvShows, tvShows); tvShowsWithFavoriteYears = findtvShowsWithFavoriteYears(favoriteYears, tvShows); return(tvShowsWithFavoriteYears); }
public TVShowsListViewModel LaunchBranchDirector(UserSeenTvShowListViewModel userSeenTvShows, TVShowsListViewModel tvShows) { TVShowsListViewModel tvShowsWithFavoriteDirector = new TVShowsListViewModel(); List <string> favoriteDirector = findFavoriteDirector(userSeenTvShows, tvShows); tvShowsWithFavoriteDirector = findtvShowsWithFavoriteDirectors(favoriteDirector, tvShows); return(tvShowsWithFavoriteDirector); }
public TVShowsListViewModel LaunchBranchGenre(UserSeenTvShowListViewModel userSeenTvShows, TVShowsListViewModel tvShows) { TVShowsListViewModel tvShowsWithFavoriteGenre = new TVShowsListViewModel(); List <string> favoriteGenre = findFavoriteGenre(userSeenTvShows, tvShows); tvShowsWithFavoriteGenre = findtvShowsWithFavoriteGenre(favoriteGenre, tvShows); return(tvShowsWithFavoriteGenre); }
public bool checkIfAllTvShowsAreSeen(TVShowsListViewModel tvShows, UserSeenTvShowListViewModel userSeenTvShows) { if (tvShows.TVShows.Count == userSeenTvShows.UserSeenTvShows.Count) { return(true); } return(false); }
public List <string> findFavoriteGenre(UserSeenTvShowListViewModel userSeenTvShows, TVShowsListViewModel tvShows) { List <string> favoriteGenres = new List <string>(); var seenTvShowsWithGenres = (from objA in tvShows.TVShows join objB in userSeenTvShows.UserSeenTvShows on objA.Id equals objB.TvShowId select objA).ToList(); var pairs = seenTvShowsWithGenres.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(UserSeenTvShowListViewModel userSeenTvShows, TVShowsListViewModel tvShows) { var seenTvShowsWithYears = (from objA in tvShows.TVShows join objB in userSeenTvShows.UserSeenTvShows on objA.Id equals objB.TvShowId select objA /*or objB*/).ToList(); var pairs = seenTvShowsWithYears.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 <UserSeenTvShowListViewModel> GetAllUserSeenTVShows(int id) { try { var model = new UserSeenTvShowListViewModel() { UserSeenTvShows = _mapper.Map <List <UserSeenTvShowViewModel> >(_context.UserSeenTvShows.Where(e => e.UserId == id).Include(e => e.TvShow).Include(e => e.User)) }; return(model); } catch (Exception e) { throw e.InnerException; } }
public TVShowsListViewModel RemoveAlreadySeenTvShows(TVShowsListViewModel potentiallyRecommendedTvShows, UserSeenTvShowListViewModel seenTvShows) { TVShowsListViewModel result = new TVShowsListViewModel(); result.TVShows = potentiallyRecommendedTvShows.TVShows.Where(tvShow => seenTvShows.UserSeenTvShows.All(seenTvShow => tvShow.Id != seenTvShow.TvShowId)).ToList(); return(result); }