Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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));
            }
        }