AdvancedLauncher.Providers.Korea.KoreaWebProvider.GetMercenaryInfo C# (CSharp) Метод

GetMercenaryInfo() защищенный Метод

protected GetMercenaryInfo ( Digimon &digimon, Tamer tamer ) : bool
digimon AdvancedLauncher.SDK.Model.Entity.Digimon
tamer AdvancedLauncher.SDK.Model.Entity.Tamer
Результат bool
        protected override bool GetMercenaryInfo(ref Digimon digimon, Tamer tamer)
        {
            //we don't need starters info
            if (digimon.Type.IsStarter) {
                return false;
            }
            if (LogManager != null) {
                LogManager.InfoFormat("Obtaining detailed data of digimon \"{0}\" for tamer \"{1}\"", digimon.Name, tamer.Name);
            }

            string html = DownloadContent(string.Format(STR_URL_MERC_SIZE_RANK, tamer.Name, tamer.Guild.Server.Identifier, digimon.Type.Code));
            HtmlDocument doc = new HtmlDocument();
            doc.LoadHtml(html);

            HtmlNode partnerNode;
            try {
                partnerNode = doc.DocumentNode.SelectNodes("//table[@class='forum_list']")[1].SelectSingleNode(".//tbody//tr[not(@onmouseover)]");
            } catch {
                return false;
            }

            if (partnerNode != null) {
                digimon.SizeRank = Convert.ToInt32(ClearStr(partnerNode.SelectSingleNode(".//td[1]").InnerText));
                digimon.Name = ClearStr(partnerNode.SelectSingleNode(".//td[2]//label").InnerText);
                Regex r = new Regex(STR_DIGIMON_SIZE, RegexOptions.IgnoreCase | RegexOptions.Singleline);
                Match m = r.Match(partnerNode.SelectSingleNode(".//td[3]").InnerHtml);
                if (m.Success) {
                    digimon.SizeCm = Convert.ToInt32(m.Groups[1].ToString());
                    digimon.SizePc = Convert.ToInt32(m.Groups[3].ToString());
                    return true;
                }
            }
            return false;
        }