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)); }
public ActionResult Detail(string Id) { ChampionDetailModel championDetailModel = GetChampionDetail(Id); if (championDetailModel != null) { return(View(championDetailModel)); } return(RedirectToAction("Error", "Home")); }
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); } }
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); }