using System.IO; using System.Collections.Generic; using XMLParser.Contract; using XMLParser.Model; using System; using System.Text; using System.Linq; using System.Diagnostics; namespace XMLParser.Functions.ProtokollWriter { public class HTMLProtkollWriter : IProtokollWriter { FileStream handle = null; Dictionary headertitles = null; Dictionary Entwaesserung = null; public HTMLProtkollWriter(Dictionary headertitles) { Entwaesserung = new Dictionary(); Entwaesserung.Add("KR","Regenwasser"); Entwaesserung.Add("KS","Schmutzwasser"); Entwaesserung.Add("KM","Mischwasser"); handle = File.Create("./data.html"); this.headertitles = headertitles; } internal void writeToFile(string content) { content += Environment.NewLine; byte[] bytes = Encoding.UTF8.GetBytes(content); handle.Write(bytes,0,bytes.Length); handle.Flush(); } void writeHTMLHeader() { writeToFile(""); writeToFile(""); writeToFile(""); writeToFile(""); writeToFile(""); writeToFile("
"); writeToFile("
"); writeToFile(""); } void writeHTMLFooter() { writeToFile("
"); writeToFile(""); writeToFile(""); } public void WriteEntry(Dictionary calculated, List inspektionenAmTag) { writeHTMLHeader(); KanalObjekt objekt = inspektionenAmTag.Last(); //Debugger.Break(); writeToFile("
"); writeToFile("

"+objekt.Inspektionsdaten.Lage.Strassename+"

"); writeToFile("

"+Entwaesserung[objekt.Inspektionsdaten.OptischeInspektion.Rohrleitung.Grunddaten.Kanalart]+"

"); writeToFile("
"); writeToFile(""); List avaibleHeaders = new List(); string result = ""; foreach(var s in calculated.Keys) { avaibleHeaders.Add(s); result += ""; } result += ""; makeHeaderTitlesInHtml(avaibleHeaders); writeToFile(result); writeToFile("
"+calculated[s]+ "
"); } private void makeHeaderTitlesInHtml(List avaibleHeaders) { writeToFile(""); foreach(ECalculatedResult s in avaibleHeaders) { writeToFile(string.Format("{0}",headertitles[s])); } writeToFile(""); } public void WriteBaried(string content) { writeToFile(string.Format("

{0}

",content)); writeHTMLFooter(); } } }