57 lines
2.5 KiB
C#
57 lines
2.5 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Diagnostics;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using XMLParser;
|
|
|
|
namespace XMLProgramm
|
|
{
|
|
class Program
|
|
{
|
|
static void Main(string[] args)
|
|
{
|
|
CSVWriter csvWriter = new CSVWriter();
|
|
List<KanalObjekt> objekte = new List<KanalObjekt>();
|
|
|
|
StrassenUmsatz(csvWriter,objekte);
|
|
//TagesUmsatz(csvWriter,objekte);
|
|
}
|
|
|
|
private static void StrassenUmsatz(CSVWriter csvWriter, List<KanalObjekt> objekte)
|
|
{
|
|
// KS_Oldenburg_Lönsweg.xml
|
|
XMLParse ser = new XMLParse("2021-07-29_KR_H_L_Oldenburg_Eichenstraße.xml");
|
|
objekte.AddRange(ser.KanalObjekte);
|
|
Dictionary<ECalculatedResult,decimal> d = Calculate.CalculateStreet(objekte);
|
|
|
|
}
|
|
|
|
static void TagesUmsatz(CSVWriter csvWriter, List<KanalObjekt> objekte)
|
|
{
|
|
DirectoryInfo info = new DirectoryInfo("./");
|
|
FileInfo[] daten = info.GetFiles("*.xml");
|
|
foreach(FileInfo aktuell in daten) {
|
|
XMLParse ser = new XMLParse(aktuell.FullName);
|
|
objekte.AddRange(ser.KanalObjekte);
|
|
}
|
|
IEnumerable<string> datums = objekte.OrderBy(d => d.Inspektionsdaten.OptischeInspektion.Inspektionstime).Select(x => x.Inspektionsdaten.OptischeInspektion.Inspektionsdatum).Distinct();
|
|
|
|
decimal gesamt = 0.0m;
|
|
//Dictionary<string,decimal> s = CalculateDay(objekte.FindAll(x => x.Inspektionsdaten.OptischeInspektion.Inspektionsdatum.Equals("05.08.2021")));
|
|
foreach(string datum in datums) {
|
|
List<KanalObjekt> InspektionenAmTag = objekte.FindAll(x => x.Inspektionsdaten.OptischeInspektion.Inspektionsdatum.Equals(datum));
|
|
Dictionary<ECalculatedResult,decimal> s = Calculate.CalculateDay(InspektionenAmTag);
|
|
csvWriter.WriteDay(s,InspektionenAmTag);
|
|
Console.WriteLine("Umsatz am : "+datum + " " + s[ECalculatedResult.GESAMTUMSATZ]);
|
|
gesamt +=s[ECalculatedResult.GESAMTUMSATZ];
|
|
//if(datum.Equals("05.08.2021")) Debugger.Break();
|
|
}
|
|
int anzahlTage = datums.Count();
|
|
decimal Durchschnitt = gesamt / anzahlTage;
|
|
int prognosedays = 63;
|
|
Console.WriteLine(string.Format("Tage : {0} \nGesamt umsatz: {1}\nDurchschnitt : {2}\nPrognose für {3} tage {4}",anzahlTage,gesamt,Durchschnitt,prognosedays,prognosedays*Durchschnitt));
|
|
}
|
|
}
|
|
}
|