Exemplo n.º 1
0
        public ActionResult Index(int championCount, List <int?> ids)
        {
            try
            {
                var currentModel = CurrentChampionsModel;


                while (championCount > ids.Count)
                {
                    ids.Add(currentModel.AvailableChampions[ids.Count].Id);
                }

                if (championCount < ids.Count)
                {
                    ids = ids.Take(championCount).ToList();
                }

                using (var riotDb = new RiotDataContext())
                {
                    var championTotals = new TotalsStatistics(ids, riotDb);
                    currentModel.ChampionIds    = ids;
                    currentModel.ChampionCount  = ids.Count;
                    currentModel.ChampionTotals = championTotals;
                    CurrentChampionsModel       = currentModel;
                    return(View(currentModel));
                }
            }
            catch (Exception e)
            {
                return(View("Error", new HandleErrorInfo(e, "Champions", "Index")));
            }
        }
Exemplo n.º 2
0
        public ActionResult Index()
        {
            try
            {
                using (var riotDb = new RiotDataContext())
                {
                    var championData = RiotService.ChampionsService();

                    var availableChampionIds = riotDb.Participants
                                               .Select(m => m.ChampionId ?? 0).ToList()
                                               .Where(m => m != 0).Distinct().ToList();

                    var availableChampions = championData.Champions
                                             .Where(x => availableChampionIds.Contains(x.Key))
                                             .Select(x => x.Value).OrderBy(x => x.Name).ToList();

                    var ids = new List <int?> {
                        availableChampions[0].Id, availableChampions[1].Id, availableChampions[2].Id
                    };

                    var championTotals = new TotalsStatistics(ids, riotDb);

                    var model = new ChampionsViewModel
                    {
                        AvailableChampions = availableChampions,
                        ChampionCount      = ids.Count,
                        ChampionTotals     = championTotals,
                        ChampionIds        = ids
                    };

                    CurrentChampionsModel = model;
                    return(View(model));
                }
            }
            catch (Exception e)
            {
                return(View("Error", new HandleErrorInfo(e, "Champions", "Index")));
            }
        }