Exemplo n.º 1
0
        public JsonResult ComputeDraft(DraftInfos draftInfos)
        {
            var matchupDal = new DALMatchup();
            var dal        = new DAL();

            var toplaner = dal.getPlayerByName("Vince");
            var jungler  = dal.getPlayerByName("Zokato");
            var mid      = dal.getPlayerByName("Decay");
            var adc      = dal.getPlayerByName("Neylan");
            var support  = dal.getPlayerByName("Dee");

            var listAnswerTop     = matchupDal.getAnswersForDraftByPlayer(toplaner.PlayerId, draftInfos);
            var listAnswerungle   = matchupDal.getAnswersForDraftByPlayer(jungler.PlayerId, draftInfos);
            var listAnswerMid     = matchupDal.getAnswersForDraftByPlayer(mid.PlayerId, draftInfos);
            var listAnswerAdc     = matchupDal.getAnswersForDraftByPlayer(adc.PlayerId, draftInfos);
            var listAnswerSupport = matchupDal.getAnswersForDraftByPlayer(support.PlayerId, draftInfos);

            var listAllAnswers = new List <List <Champion> >();

            listAllAnswers.Add(listAnswerTop);
            listAllAnswers.Add(listAnswerungle);
            listAllAnswers.Add(listAnswerMid);
            listAllAnswers.Add(listAnswerAdc);
            listAllAnswers.Add(listAnswerSupport);

            return(Json(listAllAnswers, JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 2
0
        public List <Champion> getAnswersForDraftByPlayer(Guid playerId, DraftInfos draftInfos)
        {
            Tuple <List <MatchupInfos>, long, MatchupInfos> listMatchupInfos;

            listMatchupInfos = getAllMatchupByParams(playerId, draftInfos);
            var listChampions = new DALCalculation().ComputeAnswerWithDraftInfos(listMatchupInfos, draftInfos, playerId);

            return(listChampions.OrderBy(x => x.ChampionName).ToList());
        }
Exemplo n.º 3
0
        public List <Champion> ComputeAnswerWithDraftInfos(Tuple <List <MatchupInfos>, long, MatchupInfos> listMatchupInfos, DraftInfos draftInfos, Guid playerId)
        {
            var listChampionIdBans = new List <Guid>();

            listChampionIdBans.Add(draftInfos.AllyBan1);
            listChampionIdBans.Add(draftInfos.AllyBan2);
            listChampionIdBans.Add(draftInfos.AllyBan3);
            listChampionIdBans.Add(draftInfos.AllyBan4);
            listChampionIdBans.Add(draftInfos.AllyBan5);

            listChampionIdBans.Add(draftInfos.EnemyBan1);
            listChampionIdBans.Add(draftInfos.EnemyBan2);
            listChampionIdBans.Add(draftInfos.EnemyBan3);
            listChampionIdBans.Add(draftInfos.EnemyBan4);
            listChampionIdBans.Add(draftInfos.EnemyBan5);

            var listChampion = new HashSet <Champion>(new ChampionComparer());

            if (listMatchupInfos.Item1?.Count() > 0)
            {
                foreach (var matchupinfos in listMatchupInfos.Item1)
                {
                    foreach (var answer in matchupinfos.Answers)
                    {
                        if (!listChampionIdBans.Contains(answer.ChampionId))
                        {
                            listChampion.Add(new Champion()
                            {
                                ChampionId   = answer.ChampionId,
                                ChampionName = answer.ChampionName,
                                //ChampionTags = db.ChampionTags.Where(x => x.PlayerId == playerId && x.ChampionId == answer.ChampionId).ToList()
                            });
                        }
                    }
                }
            }
            if (listMatchupInfos.Item3.Answers != null)
            {
                foreach (var answer in listMatchupInfos.Item3.Answers)
                {
                    if (!listChampionIdBans.Contains(answer.ChampionId))
                    {
                        listChampion.Add(new Champion()
                        {
                            ChampionId   = answer.ChampionId,
                            ChampionName = answer.ChampionName,
                            //ChampionTags = db.ChampionTags.Where(x => x.PlayerId == playerId && x.ChampionId == answer.ChampionId).ToList()
                        });
                    }
                }
            }
            if (listChampion.Count == 0)
            {
                foreach (var item in db.ChampionPools.Where(x => x.PlayerId == playerId).ToList())
                {
                    if (!listChampionIdBans.Contains(item.ChampionId))
                    {
                        listChampion.Add(new Champion()
                        {
                            ChampionId   = item.ChampionId,
                            ChampionName = ((List <Champion>)System.Web.HttpContext.Current.Session["GlobalChampions"]).Where(x => x.ChampionId == item.ChampionId).FirstOrDefault()?.ChampionName
                                           //ChampionTags = db.ChampionTags.Where(x => x.PlayerId == playerId && x.ChampionId == answer.ChampionId).ToList()
                        });
                    }
                }
            }

            return(listChampion.OrderBy(x => x.ChampionName).ToList());
        }