Esempio n. 1
0
        public async Task <ActionResult> ChampionDetail(ChampionDetailQuery query)
        {
            if (!ModelState.IsValid)
            {
                return(new HttpNotFoundResult());
            }

            var realm = await _dataDragon.GetRealm(query.Region).ConfigureAwait(false);

            var individualChampionDto = await _dataDragon.GetIndividualChampion(realm.Cdn, query.Language, query.Version, query.ChampionName).ConfigureAwait(false);

            var champion = _mapper.Map <ChampionModel>(individualChampionDto.Data.Single().Value);

            var model = new ChampionDetailModel
            {
                Title         = champion.Name,
                Subtitle      = champion.Title,
                Champion      = champion,
                DropdownGroup = new DropdownGroupModel
                {
                    Regions   = Region.All(),
                    Languages = Language.All(),
                    Versions  = await _dataDragon.GetVersionsAsync(),
                    Selected  = query
                }
            };

            return(View(model));
        }
Esempio n. 2
0
        public ActionResult Detail(string Id)
        {
            ChampionDetailModel championDetailModel = GetChampionDetail(Id);

            if (championDetailModel != null)
            {
                return(View(championDetailModel));
            }
            return(RedirectToAction("Error", "Home"));
        }
Esempio n. 3
0
 private ChampionDetailModel GetChampionDetail(string Id)
 {
     try {
         if (String.IsNullOrEmpty(Id))
         {
             return(null);
         }
         JsonDataClass       jsonDataClass       = new JsonDataClass();
         ChampionDetailModel championDetailModel = jsonDataClass.GetChampionDetail(Id);
         return(championDetailModel);
     }
     catch {
         return(null);
     }
 }
Esempio n. 4
0
        public ChampionDetailModel GetChampionDetail(string ChampionId)
        {
            string version = GetVersion();
            string linkString;

            if (Ress.SharedStrings.Culture.Name == "tr")
            {
                linkString = mainLink + version + "/data/tr_TR/champion/" + ChampionId + ".json";
            }
            else
            {
                linkString = mainLink + version + "/data/en_US/champion/" + ChampionId + ".json";
            }
            HttpWebRequest WebReq = (HttpWebRequest)WebRequest.Create(string.Format(linkString));

            WebReq.Method = "GET";

            HttpWebResponse WebResp = (HttpWebResponse)WebReq.GetResponse();
            var             status  = WebResp.StatusCode;
            string          jsonString;

            using (Stream stream = WebResp.GetResponseStream())   //modified from your code since the using statement disposes the stream automatically when done
            {
                StreamReader reader = new StreamReader(stream, System.Text.Encoding.UTF8);
                jsonString = reader.ReadToEnd();
            }

            var result = JsonConvert.DeserializeObject <ResponseModel>(jsonString);

            ChampionDetailModel championDetail = new ChampionDetailModel();

            foreach (var item in result.Data)
            {
                championDetail = JsonConvert.DeserializeObject <ChampionDetailModel>(item.Value.ToString());
            }
            foreach (var skin in championDetail.skins)
            {
                skin.src = mainLink + "img/champion/splash/" + ChampionId + "_" + skin.num + ".jpg";
            }
            championDetail.profilePictureUrl = mainLink + version + "/img/champion/" + championDetail.image.full;

            return(championDetail);
        }