html writer hinzugefgt

This commit is contained in:
2021-08-15 14:22:55 +02:00
parent 866b197442
commit c2fdd2fe7b
7 changed files with 107 additions and 11 deletions

View File

@@ -0,0 +1,74 @@
using System.IO;
using System.Collections.Generic;
using XMLParser.Contract;
using XMLParser.Model;
using System;
using System.Text;
namespace XMLParser.Functions.ProtokollWriter
{
public class HTMLProtkollWriter : IProtokollWriter
{
FileStream handle = null;
Dictionary<ECalculatedResult,string> headertitles = null;
public HTMLProtkollWriter(Dictionary<ECalculatedResult, string> headertitles)
{
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("<html>");
writeToFile("<head>");
writeToFile("</head>");
writeToFile("<body>");
}
void writeHTMLFooter()
{
writeToFile("</body>");
writeToFile("</html>");
}
public void WriteEntry(Dictionary<ECalculatedResult, decimal> calculated, List<KanalObjekt> inspektionenAmTag)
{
writeHTMLHeader();
writeToFile("<table border='2'>");
List<ECalculatedResult> avaibleHeaders = new List<ECalculatedResult>();
string result = "<tr>";
foreach(var s in calculated.Keys)
{
avaibleHeaders.Add(s);
result += "<td>"+calculated[s]+ "</td>";
}
result += "</tr>";
makeHeaderTitlesInHtml(avaibleHeaders);
writeToFile(result);
writeToFile("</table>");
writeHTMLFooter();
}
private void makeHeaderTitlesInHtml(List<ECalculatedResult> avaibleHeaders)
{
writeToFile("<tr>");
foreach(ECalculatedResult s in avaibleHeaders)
{
writeToFile("<td>");
writeToFile(headertitles[s]);
writeToFile("</td>");
}
writeToFile("</tr>");
}
}
}

View File

@@ -6,11 +6,11 @@ namespace XMLParser.Functions.UmsatzCalculator
{
public class StrassenUmsatz : IUmsatzCalculator
{
public void Calculate(ICSVWriter csvWriter, List<KanalObjekt> objekte)
public void Calculate(IProtokollWriter protokollWriter, List<KanalObjekt> objekte)
{
Dictionary<ECalculatedResult,decimal> d = XMLParser.Functions.Calculate.CalculateStreet(objekte);
csvWriter.WriteEntry(d,objekte);
protokollWriter.WriteEntry(d,objekte);
}
}
}

View File

@@ -9,7 +9,7 @@ namespace XMLParser.Functions.UmsatzCalculator
{
public class TagesUmsatz : IUmsatzCalculator
{
public void Calculate(ICSVWriter csvWriter, List<KanalObjekt> objekte)
public void Calculate(IProtokollWriter protokollWriter, List<KanalObjekt> objekte)
{
DirectoryInfo info = new DirectoryInfo("./");
FileInfo[] daten = info.GetFiles("*.xml");
@@ -24,7 +24,7 @@ namespace XMLParser.Functions.UmsatzCalculator
foreach(string datum in datums) {
List<KanalObjekt> InspektionenAmTag = objekte.FindAll(x => x.Inspektionsdaten.OptischeInspektion.Inspektionsdatum.Equals(datum));
Dictionary<ECalculatedResult,decimal> s = XMLParser.Functions.Calculate.CalculateDay(InspektionenAmTag);
csvWriter.WriteEntry(s,InspektionenAmTag);
protokollWriter.WriteEntry(s,InspektionenAmTag);
Console.WriteLine("Umsatz am : "+datum + " " + s[ECalculatedResult.GESAMTUMSATZ]);
gesamt +=s[ECalculatedResult.GESAMTUMSATZ];
//if(datum.Equals("05.08.2021")) Debugger.Break();