Example #1
0
        public async Task <ActionResult> Index()
        {
            ViewBag.League = Leagues.getList();
            LadderViewModel model = new LadderViewModel();

            model.Filter = new FilterViewModel();

            return(View(model));
        }
Example #2
0
        public async Task <ActionResult> Ladder(LadderViewModel filterModel)
        {
            //List<EntryDto> entries = new List<EntryDto> { };
            //StandardPlayer entry = new StandardPlayer();

            //for (int i = 0; i < 1; i++)
            //{ // i * 200 = number of shown players

            //    string link = "http://api.pathofexile.com/ladders/" + "Standard" + "?offset=" + i * 200 + "&limit=200";  //FIX THIS 1

            //    var res = await link.GetStringAsync();

            //    RootobjectDto data = JsonConvert.DeserializeObject<RootobjectDto>(res);

            //    entries.AddRange(data.Entries.ToList());
            //}
            //_context.StandardPlayers.RemoveRange(_context.StandardPlayers);
            //_context.SaveChanges();

            //foreach (var item in entries)
            //{

            //    entry.Rank = item.Rank;
            //    entry.Dead = item.Dead;
            //    entry.Online = item.Online;
            //    entry.AccountName = item.Account.Name;
            //    entry.TotalChallenges = item.Account.Challenges.Total;
            //    entry.CharacterName = item.Character.Name;
            //    entry.CharacterLevel = item.Character.Level;
            //    entry.CharacterClass = item.Character.Class;
            //    if (item.Character.Depth != null)
            //    {
            //        entry.CharacterDepthSolo = item.Character.Depth.Solo;
            //    }
            //    else
            //    {
            //        entry.CharacterDepthSolo = 0;
            //    }

            //    _context.StandardPlayers.Add(entry);
            //    _context.SaveChanges();
            //};

            //___________________________________________________________________________________________________________________________________________________________
            //___________________________________________________________________________________________________________________________________________________________
            //___________________________________________________________________________________________________________________________________________________________

            IEnumerable <PlayersViewModel> playersViewModel;

            ViewBag.League = Leagues.getList();

            if (!ModelState.IsValid)
            {
                filterModel.Filter.RankBottom  = 1;
                filterModel.Filter.RankTop     = 100;
                filterModel.Filter.LevelBottom = 1;
                filterModel.Filter.LevelTop    = 100;
                filterModel.Filter.Challenges  = 0;
                filterModel.Filter.Depth       = 0;
            }

            switch (filterModel.SelectedLeague)
            {
            case "Standard":
                IEnumerable <StandardPlayer> standardPlayers = _context.StandardPlayers
                                                               .Where(m => m.CharacterLevel >= filterModel.Filter.LevelBottom)
                                                               .Where(m => m.CharacterLevel <= filterModel.Filter.LevelTop)
                                                               .Where(m => m.Rank >= filterModel.Filter.RankBottom)
                                                               .Where(m => m.Rank <= filterModel.Filter.RankTop)
                                                               .Where(m => m.CharacterDepthSolo >= filterModel.Filter.Depth)
                                                               .Where(m => m.TotalChallenges >= filterModel.Filter.Challenges);
                if (filterModel.Filter.Online == true)
                {
                    standardPlayers = standardPlayers.Where(m => m.Online == true);
                }
                if (filterModel.Filter.Class != "All")
                {
                    standardPlayers = standardPlayers.Where(m => m.CharacterClass == filterModel.Filter.Class);
                }
                playersViewModel = Mapper.Map <IEnumerable <StandardPlayer>, IEnumerable <PlayersViewModel> >(standardPlayers);
                break;

            case "Hardcore":
                IEnumerable <StandardHCPlayer> standardHCPlayers = _context.StandardHCPlayers
                                                                   .Where(m => m.CharacterLevel >= filterModel.Filter.LevelBottom)
                                                                   .Where(m => m.CharacterLevel <= filterModel.Filter.LevelTop)
                                                                   .Where(m => m.Rank >= filterModel.Filter.RankBottom)
                                                                   .Where(m => m.Rank <= filterModel.Filter.RankTop)
                                                                   .Where(m => m.CharacterDepthSolo >= filterModel.Filter.Depth)
                                                                   .Where(m => m.TotalChallenges >= filterModel.Filter.Challenges);
                if (filterModel.Filter.Dead == true)
                {
                    standardHCPlayers = standardHCPlayers.Where(m => m.Dead == true);
                }
                if (filterModel.Filter.Online == true)
                {
                    standardHCPlayers = standardHCPlayers.Where(m => m.Online == true);
                }
                if (filterModel.Filter.Class != "All")
                {
                    standardHCPlayers = standardHCPlayers.Where(m => m.CharacterClass == filterModel.Filter.Class);
                }
                playersViewModel = Mapper.Map <IEnumerable <StandardHCPlayer>, IEnumerable <PlayersViewModel> >(standardHCPlayers);
                break;

            case "SSF Standard":
                IEnumerable <StandardSSFPlayer> standardSSFPlayers = _context.StandardSSFPlayers
                                                                     .Where(m => m.CharacterLevel >= filterModel.Filter.LevelBottom)
                                                                     .Where(m => m.CharacterLevel <= filterModel.Filter.LevelTop)
                                                                     .Where(m => m.Rank >= filterModel.Filter.RankBottom)
                                                                     .Where(m => m.Rank <= filterModel.Filter.RankTop)
                                                                     .Where(m => m.CharacterDepthSolo >= filterModel.Filter.Depth)
                                                                     .Where(m => m.TotalChallenges >= filterModel.Filter.Challenges);
                if (filterModel.Filter.Online == true)
                {
                    standardSSFPlayers = standardSSFPlayers.Where(m => m.Online == true);
                }
                if (filterModel.Filter.Class != "All")
                {
                    standardSSFPlayers = standardSSFPlayers.Where(m => m.CharacterClass == filterModel.Filter.Class);
                }
                playersViewModel = Mapper.Map <IEnumerable <StandardSSFPlayer>, IEnumerable <PlayersViewModel> >(standardSSFPlayers);
                break;

            case "SSF Hardcore":
                IEnumerable <StandardHCSSFPlayer> standardHCSSFPlayers = _context.StandardHCSSFPlayers
                                                                         .Where(m => m.CharacterLevel >= filterModel.Filter.LevelBottom)
                                                                         .Where(m => m.CharacterLevel <= filterModel.Filter.LevelTop)
                                                                         .Where(m => m.Rank >= filterModel.Filter.RankBottom)
                                                                         .Where(m => m.Rank <= filterModel.Filter.RankTop)
                                                                         .Where(m => m.CharacterDepthSolo >= filterModel.Filter.Depth)
                                                                         .Where(m => m.TotalChallenges >= filterModel.Filter.Challenges);
                if (filterModel.Filter.Dead == true)
                {
                    standardHCSSFPlayers = standardHCSSFPlayers.Where(m => m.Dead == true);
                }
                if (filterModel.Filter.Online == true)
                {
                    standardHCSSFPlayers = standardHCSSFPlayers.Where(m => m.Online == true);
                }
                if (filterModel.Filter.Class != "All")
                {
                    standardHCSSFPlayers = standardHCSSFPlayers.Where(m => m.CharacterClass == filterModel.Filter.Class);
                }
                playersViewModel = Mapper.Map <IEnumerable <StandardHCSSFPlayer>, IEnumerable <PlayersViewModel> >(standardHCSSFPlayers);
                break;

            case "Delirium":
                IEnumerable <CurrentLeaguePlayer> currentLeaguePlayers = _context.CurrentLeaguePlayers
                                                                         .Where(m => m.CharacterLevel >= filterModel.Filter.LevelBottom)
                                                                         .Where(m => m.CharacterLevel <= filterModel.Filter.LevelTop)
                                                                         .Where(m => m.Rank >= filterModel.Filter.RankBottom)
                                                                         .Where(m => m.Rank <= filterModel.Filter.RankTop)
                                                                         .Where(m => m.CharacterDepthSolo >= filterModel.Filter.Depth)
                                                                         .Where(m => m.TotalChallenges >= filterModel.Filter.Challenges);
                if (filterModel.Filter.Online == true)
                {
                    currentLeaguePlayers = currentLeaguePlayers.Where(m => m.Online == true);
                }
                if (filterModel.Filter.Class != "All")
                {
                    currentLeaguePlayers = currentLeaguePlayers.Where(m => m.CharacterClass == filterModel.Filter.Class);
                }
                playersViewModel = Mapper.Map <IEnumerable <CurrentLeaguePlayer>, IEnumerable <PlayersViewModel> >(currentLeaguePlayers);
                break;

            case "Hardcore Delirium":
                IEnumerable <CurrentLeagueHCPlayer> currentLeagueHCPlayers = _context.CurrentLeagueHCPlayers
                                                                             .Where(m => m.CharacterLevel >= filterModel.Filter.LevelBottom)
                                                                             .Where(m => m.CharacterLevel <= filterModel.Filter.LevelTop)
                                                                             .Where(m => m.Rank >= filterModel.Filter.RankBottom)
                                                                             .Where(m => m.Rank <= filterModel.Filter.RankTop)
                                                                             .Where(m => m.CharacterDepthSolo >= filterModel.Filter.Depth)
                                                                             .Where(m => m.TotalChallenges >= filterModel.Filter.Challenges);
                if (filterModel.Filter.Dead == true)
                {
                    currentLeagueHCPlayers = currentLeagueHCPlayers.Where(m => m.Dead == true);
                }
                if (filterModel.Filter.Online == true)
                {
                    currentLeagueHCPlayers = currentLeagueHCPlayers.Where(m => m.Online == true);
                }
                if (filterModel.Filter.Class != "All")
                {
                    currentLeagueHCPlayers = currentLeagueHCPlayers.Where(m => m.CharacterClass == filterModel.Filter.Class);
                }
                playersViewModel = Mapper.Map <IEnumerable <CurrentLeagueHCPlayer>, IEnumerable <PlayersViewModel> >(currentLeagueHCPlayers);
                break;

            case "SSF Delirium":
                IEnumerable <CurrentLeagueSSFPlayer> currentLeagueSSFPlayers = _context.CurrentLeagueSSFPlayers
                                                                               .Where(m => m.CharacterLevel >= filterModel.Filter.LevelBottom)
                                                                               .Where(m => m.CharacterLevel <= filterModel.Filter.LevelTop)
                                                                               .Where(m => m.Rank >= filterModel.Filter.RankBottom)
                                                                               .Where(m => m.Rank <= filterModel.Filter.RankTop)
                                                                               .Where(m => m.CharacterDepthSolo >= filterModel.Filter.Depth)
                                                                               .Where(m => m.TotalChallenges >= filterModel.Filter.Challenges);
                if (filterModel.Filter.Online == true)
                {
                    currentLeagueSSFPlayers = currentLeagueSSFPlayers.Where(m => m.Online == true);
                }
                if (filterModel.Filter.Class != "All")
                {
                    currentLeagueSSFPlayers = currentLeagueSSFPlayers.Where(m => m.CharacterClass == filterModel.Filter.Class);
                }
                playersViewModel = Mapper.Map <IEnumerable <CurrentLeagueSSFPlayer>, IEnumerable <PlayersViewModel> >(currentLeagueSSFPlayers);
                break;

            case "SSF Delirium HC":
                IEnumerable <CurrentLeagueHCSSFPlayer> currentLeagueHCSSFPlayers = _context.CurrentLeagueHCSSFPlayers
                                                                                   .Where(m => m.CharacterLevel >= filterModel.Filter.LevelBottom)
                                                                                   .Where(m => m.CharacterLevel <= filterModel.Filter.LevelTop)
                                                                                   .Where(m => m.Rank >= filterModel.Filter.RankBottom)
                                                                                   .Where(m => m.Rank <= filterModel.Filter.RankTop)
                                                                                   .Where(m => m.CharacterDepthSolo >= filterModel.Filter.Depth)
                                                                                   .Where(m => m.TotalChallenges >= filterModel.Filter.Challenges);
                if (filterModel.Filter.Dead == true)
                {
                    currentLeagueHCSSFPlayers = currentLeagueHCSSFPlayers.Where(m => m.Dead == true);
                }
                if (filterModel.Filter.Online == true)
                {
                    currentLeagueHCSSFPlayers = currentLeagueHCSSFPlayers.Where(m => m.Online == true);
                }
                if (filterModel.Filter.Class != "All")
                {
                    currentLeagueHCSSFPlayers = currentLeagueHCSSFPlayers.Where(m => m.CharacterClass == filterModel.Filter.Class);
                }
                playersViewModel = Mapper.Map <IEnumerable <CurrentLeagueHCSSFPlayer>, IEnumerable <PlayersViewModel> >(currentLeagueHCSSFPlayers);
                break;

            default:
                IEnumerable <CurrentLeaguePlayer> currentLeaguePlayersDefault = _context.CurrentLeaguePlayers
                                                                                .Where(m => m.CharacterLevel >= filterModel.Filter.LevelBottom)
                                                                                .Where(m => m.CharacterLevel <= filterModel.Filter.LevelTop)
                                                                                .Where(m => m.Rank >= filterModel.Filter.RankBottom)
                                                                                .Where(m => m.Rank <= filterModel.Filter.RankTop)
                                                                                .Where(m => m.CharacterDepthSolo >= filterModel.Filter.Depth)
                                                                                .Where(m => m.TotalChallenges >= filterModel.Filter.Challenges);
                if (filterModel.Filter.Online == true)
                {
                    currentLeaguePlayersDefault = currentLeaguePlayersDefault.Where(m => m.Online == true);
                }
                if (filterModel.Filter.Class != "All")
                {
                    currentLeaguePlayersDefault = currentLeaguePlayersDefault.Where(m => m.CharacterClass == filterModel.Filter.Class);
                }
                playersViewModel = Mapper.Map <IEnumerable <CurrentLeaguePlayer>, IEnumerable <PlayersViewModel> >(currentLeaguePlayersDefault);
                break;
            }
            filterModel.Players = playersViewModel;

            return(View("LadderView", filterModel));
        }