private CharactersList GetMembers() { CharactersList result = new CharactersList(); foreach (var guild in GuildEnum.GetValues(typeof(GuildEnum))) { var response = HttpStatusCode.NoContent; string responseString = null; int counter = 0; do { response = RequestManager.SendGETRequest($"{ TibiaSiteGuildUrl }{ guild.ToString() }", out responseString); counter++; } while (String.IsNullOrEmpty(responseString) && counter < 4); if (!String.IsNullOrEmpty(responseString)) { var parsedHtmlPage = PageAnalyzer.ParseHtmlPage(responseString); result.Character.AddRange(PageAnalyzer.AnalyzePage(parsedHtmlPage, (GuildEnum)guild)); } } return(result); }
public DqDocument Go(string path) { var dqDocument = new DocxParser().Parse(path); new NumberingService().RestoreNumbering(dqDocument); var dqPartParser = new DqPartParser(); dqDocument.Structure = dqPartParser.PrimaryParse(dqDocument); var mainPartHeaders = new HeaderParser().GetHeaders(dqDocument); dqPartParser.SecondaryParse(dqDocument.Structure); new HeaderHierarchyService().ParseMainPartHierarchy(mainPartHeaders, dqDocument); new DqReferenceParser().ParseReferences(dqDocument); new ParagraphAnalyzer().Analyze(dqDocument); new SourceAnalyzer().Analyze(dqDocument); var result = new PageAnalyzer().Analyze(dqDocument); dqDocument.Paragraphs.Insert(0, new DqParagraph("<Информация о полях документа>", dqDocument.StyleTable.Paragraph.Default) { Index = -1 }); dqDocument.Paragraphs[0].Meta.Errors.AddRange(result); return(dqDocument); }
public void Analyze() { Assembly assembly = typeof(Program).GetTypeInfo().Assembly; IEnumerable <Type> pageTypes = assembly.GetTypesWithAttribute(typeof(RouteAttribute)); foreach (Type pageType in pageTypes) { var pageAnalyzer = new PageAnalyzer(pageType); PageAnalyzers.Add(pageAnalyzer); pageAnalyzer.Analyze(); } if (ErrorMessages.Count > 0) { throw new Exception(string.Join('\n', ErrorMessages)); } }