string buildOtherRunePages(RunePagesDtoManager runePagesManager) { StringBuilder sb = new StringBuilder(); foreach (RunePageDto page in runePagesManager.runePagesDto.pages) { if (!page.current) { string totalsTable = runePagesManager.RunePageTotalsTable(page); if (totalsTable != "") { sb.Append("<span class=\"PageName\">"); sb.Append(page.name); sb.Append("</span><br/><br/>"); sb.Append("<span class=\"RuneTotals\">"); sb.Append(totalsTable); sb.Append("</span><br/><br/>"); } } } if (sb.Length > 10) { sb.Remove(sb.Length - 10, 10); } if (sb.Length == 0) { sb.Append("<span class=\"PageName\">none</span><br/>"); } return(sb.ToString()); }
public static void WriteRuneTotals(SummonerDto summoner, RunePagesDtoManager runePagesManager, string region, HttpServerUtility server) { List <string> lines = new List <string>(); if (runePagesManager.CurrentPage != null) { lines.Add(runePagesManager.CurrentPage.name); lines.Add(runePagesManager.RunePageTotalsTable(runePagesManager.CurrentPage)); } else { lines.Add(""); lines.Add(""); } foreach (RunePageDto runePage in runePagesManager.runePagesDto.pages) { if (!runePage.current) { lines.Add(runePage.name); lines.Add(runePagesManager.RunePageTotalsTable(runePage)); } } File.WriteAllLines(server.MapPath(@"~/App_Data/Summoner_Data/" + region + '/' + summoner.id + @"/runetotals.dat"), lines); }
string buildCurrentRunePage(RunePagesDtoManager runePagesManager) { string str = ""; if (runePagesManager.CurrentPage == null || runePagesManager.RunePageTotalsTable(runePagesManager.CurrentPage) == "") { str += "<span class=\"PageName\">none</span><br/>"; } else { str += "<span class=\"PageName\">" + runePagesManager.CurrentPage.name + "</span><br/><br/>"; str += "<span class=\"RuneTotals\">" + runePagesManager.RunePageTotalsTable(runePagesManager.CurrentPage) + "</span>"; } return(str); }
protected void Button1_Click(object sender, EventArgs e) { playerInfoLabel.Text = resultsLabel.Text = ""; if (!Page.IsValid) { return; } HttpResponseMessage response = client.GetAsync("https://prod.api.pvp.net/api/lol/" + regionRadioList.SelectedItem.Value.ToLower() + "/v1.2/summoner/by-name/" + nameTxtBox.Text + "?api_key=995d135e-ab6f-4412-bb3c-1bbcd217c252").Result; SummonerDto summonerDto; bool hasSummonerChanged; if (response.StatusCode == HttpStatusCode.OK) { summonerDto = response.Content.ReadAsAsync <SummonerDto>().Result; Header.Title = summonerDto.name + "'s runes/masteries."; idHiddenField.Value = summonerDto.id.ToString(); showPlayerInfo(summonerDto); hasSummonerChanged = SummonerDataManager.HasSummonerChanged(summonerDto, regionRadioList.SelectedValue, Server); SummonerDataManager.WriteSummonerInfoFile(summonerDto, regionRadioList.SelectedValue, Server); } else { playerInfoLabel.Text = ""; if (response.StatusCode.ToString() == "NotFound") { resultsLabel.Text = "<br/><br/><div style=\"width: 250px; margin: auto\" class=\"errorMessage\">Summoner not found</div>"; } else if (response.StatusCode.ToString() == "429") { resultsLabel.Text = "<br/><br/><div style=\"width: 250px; margin: auto\" class=\"errorMessage\">Too many requests</div>"; } else { resultsLabel.Text = "<br/><br/><div style=\"width: 250px; margin: auto\" class=\"errorMessage\">Error: " + response.StatusCode + "</div>"; } return; } // get rune pages RunePagesDto runePages; RunePagesDtoManager runePagesManager; string currentRunes = "", otherRunes = ""; if (hasSummonerChanged) { response = client.GetAsync("https://prod.api.pvp.net/api/lol/" + regionRadioList.SelectedItem.Value.ToLower() + "/v1.2/summoner/" + summonerDto.id + "/runes?api_key=995d135e-ab6f-4412-bb3c-1bbcd217c252").Result; if (response.StatusCode == HttpStatusCode.OK) { runePages = response.Content.ReadAsAsync <RunePagesDto>().Result; runePagesManager = new RunePagesDtoManager(runePages); currentRunes = buildCurrentRunePage(runePagesManager); otherRunes = buildOtherRunePages(runePagesManager); SummonerDataManager.WriteRuneTotals(summonerDto, runePagesManager, regionRadioList.SelectedValue, Server); } else { currentRunes = otherRunes = "<span style=\"color: red\"Runes error: " + response.StatusCode + "</span>"; SummonerDataManager.ResetSummonerRevisionDate(summonerDto, regionRadioList.SelectedValue, Server); } } else { if (SummonerDataManager.RunesFileExists(summonerDto, regionRadioList.SelectedValue, Server)) { currentRunes = buildCurrentRunePageFromFile(summonerDto); otherRunes = buildOtherRunePagesFromFile(summonerDto); } else { currentRunes = otherRunes = "<span style=\"color: red\">Runes error: cache error. just search again</span>"; } } // get mastery pages MasteryPagesDto masteryPages; string currentMasteries = "", otherMasteries = ""; if (hasSummonerChanged) { response = client.GetAsync("https://prod.api.pvp.net/api/lol/" + regionRadioList.SelectedItem.Value.ToLower() + "/v1.2/summoner/" + summonerDto.id + "/masteries?api_key=995d135e-ab6f-4412-bb3c-1bbcd217c252").Result; if (response.StatusCode == HttpStatusCode.OK) { masteryPages = response.Content.ReadAsAsync <MasteryPagesDto>().Result; masteryPages.DoAllCalculations(); currentMasteries = buildCurrentMasteryPage(masteryPages); otherMasteries = buildOtherMasteryPages(masteryPages); SummonerDataManager.WriteSummonerMasteriesFile(summonerDto, masteryPages, regionRadioList.SelectedValue, Server); } else { currentMasteries = otherMasteries = "<span style=\"color: red\">Masteries error: " + response.StatusCode + "</span>"; SummonerDataManager.ResetSummonerRevisionDate(summonerDto, regionRadioList.SelectedValue, Server); } } else { if (SummonerDataManager.MasteriesFileExists(summonerDto, regionRadioList.SelectedValue, Server)) { masteryPages = SummonerDataManager.ReadSummonerMasteriesFile(summonerDto, regionRadioList.SelectedValue, Server); currentMasteries = buildCurrentMasteryPage(masteryPages); otherMasteries = buildOtherMasteryPages(masteryPages); } else { currentMasteries = otherMasteries = "<span style=\"color: red\">Masteries error: cache error. just search again</span>"; SummonerDataManager.ResetSummonerRevisionDate(summonerDto, regionRadioList.SelectedValue, Server); } } showCombinedCurrentTable(currentRunes, currentMasteries); showCombinedOtherTable(otherRunes, otherMasteries); setCookies(); }