Beispiel #1
0
        public void CreateSectionFilesDirectory(string sectionPath, Section section)
        {
            var filename    = $"{UtilityHelper.CreateFriendlyName(section.Name)}.html";
            var htmlContent = _htmlParser.CreateSectionHtmlPage(section);

            UtilityHelper.CreateUpdateFile(sectionPath, filename, htmlContent);
        }
        public void CreateCsvDisciplines(List <Discipline> disciplines)
        {
            var csv = new StringBuilder();

            var rootPath = AppDomain.CurrentDomain.BaseDirectory;
            var csvPath  = $"{rootPath}/csv";

            foreach (var discipline in disciplines)
            {
                csv = InsertDisciplineData(discipline, csv);
            }

            var chapters = disciplines.SelectMany(o => o.Chapters);

            csv = InsertChapterData(chapters, csv);

            var sections = chapters.SelectMany(o => o.Sections);

            csv = InsertSectionData(sections, csv);

            var rules = sections.SelectMany(o => o.Rules);

            csv = InsertRuleData(rules, csv);

            var subRules = rules.SelectMany(o => o.SubRules);

            csv = InsertSubRuleData(subRules, csv);

            UtilityHelper.CreateUpdateFile(csvPath, $"AllDisciplines{_fileExtension}", csv.ToString());
        }
        public void CreateCsvGlossary(string disciplineName, List <Glossary> glossaries)
        {
            var csv = new StringBuilder();

            var rootPath = AppDomain.CurrentDomain.BaseDirectory;
            var csvPath  = $"{rootPath}/csv";

            csv = InsertGlossaryData(glossaries);

            UtilityHelper.CreateUpdateFile(csvPath, $"{disciplineName} - Glossary{_fileExtension}", csv.ToString());
        }
Beispiel #4
0
        public void CreateXmlGlossary(string disciplineName, List <Glossary> glossaries)
        {
            var xmlFile = new MemoryStream();

            var rootPath = AppDomain.CurrentDomain.BaseDirectory;
            var xmlPath  = $"{rootPath}/xml";

            var serializer = new XmlSerializer(glossaries.GetType());

            serializer.Serialize(xmlFile, glossaries);

            UtilityHelper.CreateUpdateFile(xmlPath, $"{disciplineName}.glossary", Encoding.ASCII.GetString(xmlFile.ToArray()));
        }
Beispiel #5
0
        public void CreateXmlDiscipline(Discipline discipline)
        {
            var xmlFile = new MemoryStream();

            var rootPath = AppDomain.CurrentDomain.BaseDirectory;
            var xmlPath  = $"{rootPath}/xml";

            var serializer = new XmlSerializer(discipline.GetType());

            serializer.Serialize(xmlFile, discipline);

            UtilityHelper.CreateUpdateFile(xmlPath, $"{discipline.Name}.rules", Encoding.UTF8.GetString(xmlFile.ToArray()));
        }
Beispiel #6
0
        public void CreateChapterFilesDirectory(string chapterPath, Chapter chapter)
        {
            var filename    = $"{chapter.Name}.html";
            var htmlContent = _htmlParser.CreateChapterHtmlPage(chapter);

            UtilityHelper.CreateUpdateFile(chapterPath, filename, htmlContent);

            foreach (var section in chapter.Sections)
            {
                var sectionPath = $"{chapterPath}/{chapter.Name}";

                CreateSectionFilesDirectory(sectionPath, section);
            }
        }
Beispiel #7
0
        public void CreateDisciplineFilesDirectory(string disciplinePath, Discipline discipline)
        {
            var filename    = $"{discipline.Name}.html";
            var htmlContent = _htmlParser.CreateDisciplineHtmlPage(discipline);

            UtilityHelper.CreateUpdateFile(disciplinePath, filename, htmlContent);

            foreach (var chapter in discipline.Chapters)
            {
                var chapterPath = $"{disciplinePath}";

                CreateChapterFilesDirectory(chapterPath, chapter);
            }
        }
Beispiel #8
0
        public void CreateXmlRulebook(Rulebook rulebook)
        {
            var rootPath = AppDomain.CurrentDomain.BaseDirectory;
            var xmlPath  = $"{rootPath}/xml";

            var settings = new JsonSerializerSettings()
            {
                ReferenceLoopHandling = ReferenceLoopHandling.Ignore
            };
            var serialisedText = JsonConvert.SerializeObject(rulebook, Newtonsoft.Json.Formatting.Indented, settings);

            using (var xmlFile = GenerateStreamFromString(serialisedText))
            {
                UtilityHelper.CreateUpdateFile(xmlPath, "Rulebook.data", Encoding.UTF8.GetString(xmlFile.ToArray()));
            }
        }
Beispiel #9
0
        public void CreateWebsiteFilesDirectory(List <Discipline> disciplines)
        {
            var rootPath    = AppDomain.CurrentDomain.BaseDirectory;
            var websitePath = $"{rootPath}/website";

            var htmlContent = _htmlParser.CreateIndexHtmlPage(disciplines);
            var cssStyling  = _htmlParser.CreateCssStyling();

            UtilityHelper.CreateUpdateFile(websitePath, "index.html", htmlContent);
            UtilityHelper.CreateUpdateFile(websitePath, "styling.css", cssStyling);

            foreach (var discipline in disciplines)
            {
                var disciplinePath = $"{websitePath}/{discipline.Name}";

                CreateDisciplineFilesDirectory(disciplinePath, discipline);
            }
        }