Compare commits

9 Commits

Author SHA1 Message Date
HuskyTeufel
e412bd6b63 Final XML added 2022-05-09 16:04:45 +02:00
HuskyTeufel
6456ff410a XML dateien hinzugefügt 2022-05-09 15:55:37 +02:00
HuskyTeufel
6159ab0af0 absperrblasen werden gezählt 2022-01-26 14:17:40 +01:00
HuskyTeufel
c01f237c6a Merge branch 'master' of https://git.cosysda.de/Cosysda/XMLParser 2022-01-26 11:47:38 +01:00
HuskyTeufel
ddd2f25220 XML files added 2022-01-26 11:47:11 +01:00
31da74fd71 Readme hinzugefügt 2021-09-06 13:04:02 +02:00
HuskyTeufel
40e04f61c4 url updated 2021-09-06 12:57:55 +02:00
HuskyTeufel
7952ff3058 drone geupdated 2021-09-06 12:56:09 +02:00
8bc1ff4491 drone.yml hinzugefügt 2021-09-06 12:43:13 +02:00
26 changed files with 480223 additions and 11794 deletions

7
.drone.yml Normal file
View File

@@ -0,0 +1,7 @@
kind: pipeline
name: default
steps:
- name: compile
image: mcr.microsoft.com/dotnet/sdk
commands:
- dotnet build

1
.gitignore vendored
View File

@@ -6,3 +6,4 @@ data.html
.vs/XMLParser/v16/.suo
.vs/XMLParser/v16/TestStore/*
*/obj/*
/.vs/*

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

1
README.MD Normal file
View File

@@ -0,0 +1 @@
[![Build Status](https://drone.cosysda.de/api/badges/Cosysda/XMLParser/status.svg)](https://drone.cosysda.de/Cosysda/XMLParser)

View File

@@ -6,5 +6,6 @@ namespace XMLParser.Contract
public interface IProtokollWriter
{
void WriteEntry(Dictionary<ECalculatedResult, decimal> calculated, List<KanalObjekt> inspektionenAmTag);
void WriteBaried(string content);
}
}

View File

@@ -5,6 +5,7 @@ namespace XMLParser.Contract
{
public interface IUmsatzCalculator
{
List<KanalObjekt> Kanalobjekte {get; set;}
void Calculate(IProtokollWriter protokollWriter,List<KanalObjekt> objekte = null);
}
}

View File

@@ -13,6 +13,10 @@ namespace XMLParser.Functions
{
internal FileStream handle = null;
public void WriteBaried(string content)
{
throw new NotImplementedException();
}
public abstract void WriteEntry(Dictionary<ECalculatedResult, decimal> calculated, List<KanalObjekt> inspektionenAmTag);

View File

@@ -8,6 +8,27 @@ namespace XMLParser.Functions
{
public static class Calculate
{
public static string CalculateWaterBariedAsString(List<KanalObjekt> inspektionen)
{
List<KanalObjekt> barieded = inspektionen.FindAll(x => x.Inspektionsdaten.OptischeInspektion.Wasserhaltung != EWasserhaltung.NONE);
List<int> DistinctDurchmesser = barieded.Select(s => s.Inspektionsdaten.OptischeInspektion.Rohrleitung.Grunddaten.Profilbreite).Distinct().ToList();
string result = "#ANZAHLGESAMT# Dichtkissen gesetzt. ";
int counter = 0;
foreach(int durchmesser in DistinctDurchmesser)
{
List<KanalObjekt> abgesperrt = barieded.FindAll(x => x.Inspektionsdaten.OptischeInspektion.Rohrleitung.Grunddaten.Profilbreite.Equals(durchmesser));
result = string.Format("{0} DN{1} in Schacht", result, durchmesser);
foreach(KanalObjekt objekt in abgesperrt)
{
result = string.Format(" {0} {1} ", result, objekt.Stammdaten.Objektbezeichnung);
counter++;
}
}
result = result.Replace("#ANZAHLGESAMT#",counter.ToString());
return result;
}
public static Dictionary<ECalculatedResult,decimal> CalculateStreet(List<KanalObjekt> inspektionen)
{
Dictionary<ECalculatedResult,decimal> result = new Dictionary<ECalculatedResult, decimal>();

View File

@@ -74,7 +74,7 @@ namespace XMLParser.Functions.ProtokollWriter
makeHeaderTitlesInHtml(avaibleHeaders);
writeToFile(result);
writeToFile("</table>");
writeHTMLFooter();
}
@@ -87,5 +87,12 @@ namespace XMLParser.Functions.ProtokollWriter
}
writeToFile("</tr>");
}
public void WriteBaried(string content)
{
writeToFile(string.Format("<p>{0}</p>",content));
writeHTMLFooter();
}
}
}

View File

@@ -6,11 +6,14 @@ namespace XMLParser.Functions.UmsatzCalculator
{
public class StrassenUmsatz : IUmsatzCalculator
{
public List<KanalObjekt> Kanalobjekte { get => throw new System.NotImplementedException(); set => throw new System.NotImplementedException(); }
public void Calculate(IProtokollWriter protokollWriter, List<KanalObjekt> objekte)
{
Dictionary<ECalculatedResult,decimal> d = XMLParser.Functions.Calculate.CalculateStreet(objekte);
protokollWriter.WriteEntry(d,objekte);
protokollWriter.WriteBaried(XMLParser.Functions.Calculate.CalculateWaterBariedAsString(objekte));
}
}
}

View File

@@ -10,6 +10,9 @@ namespace XMLParser.Functions.UmsatzCalculator
{
public class TagesUmsatz : IUmsatzCalculator
{
List<KanalObjekt> _kanalObjekte;
public List<KanalObjekt> Kanalobjekte { get => _kanalObjekte; set => _kanalObjekte = value; }
public void Calculate(IProtokollWriter protokollWriter, List<KanalObjekt> objekte = null)
{
DirectoryInfo info = new DirectoryInfo("./");
@@ -21,6 +24,7 @@ namespace XMLParser.Functions.UmsatzCalculator
XMLParse ser = new XMLParse(aktuell.FullName);
objekte.AddRange(ser.KanalObjekte);
}
Kanalobjekte = objekte;
IEnumerable<string> datums = objekte.OrderBy(d => d.Inspektionsdaten.OptischeInspektion.Inspektionstime).Select(x => x.Inspektionsdaten.OptischeInspektion.Inspektionsdatum).Distinct();
decimal gesamt = 0.0m;

View File

@@ -65,6 +65,7 @@ namespace XMLParser
List<AbwassertechnischeAnlage> Stammdaten = new List<AbwassertechnischeAnlage>();
List<InspizierteAbwassertechnischeAnlage> Inspektionsdaten = new List<InspizierteAbwassertechnischeAnlage>();
if(!File.Exists(XmlFile)) throw new FileNotFoundException(string.Format("XML Datei mit den Pfad {0} wurde nicht gefunden",XmlFile));
XmlDocument doc = new XmlDocument();
doc.Load(XmlFile);
rootChild = doc.LastChild;
@@ -110,9 +111,9 @@ namespace XMLParser
{
case "Strassenname": strassename = _temp.InnerText; break;
case "Ortsteilname": ortname = _temp.InnerText; break;
case "LageOberflaeche": break;
//case "LageOberflaeche": break;
case "Strassenschluessel": break;
case "Ortsteilschluessel": break;
//case "Ortsteilschluessel": break;
default: throw new NotImplementedException(_temp.Name);
}
}
@@ -246,6 +247,7 @@ namespace XMLParser
case "FotoSpeichermedium":break;
case "Fotonummer":break;
case "Timecode":break;
case "GrundAbbruch":break;
default: throw new NotImplementedException(d.Name);
}

View File

@@ -1,15 +1,17 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.6.30114.105
# Visual Studio Version 17
VisualStudioVersion = 17.1.31911.260
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XMLParserTest", "XMLParserTest\XMLParserTest.csproj", "{089D18AE-F5F0-4371-BC0A-AEF00FBBFB55}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "XMLParserTest", "XMLParserTest\XMLParserTest.csproj", "{089D18AE-F5F0-4371-BC0A-AEF00FBBFB55}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XMLProgramm", "XMLProgramm\XMLProgramm.csproj", "{641D9B83-D358-4015-9873-E5787DFC70D1}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "XMLProgramm", "XMLProgramm\XMLProgramm.csproj", "{641D9B83-D358-4015-9873-E5787DFC70D1}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XMLParser.Contract", "XMLParser.Contract\XMLParser.Contract.csproj", "{E32C7894-5512-46A4-A868-49A834291056}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "XMLParser.Contract", "XMLParser.Contract\XMLParser.Contract.csproj", "{E32C7894-5512-46A4-A868-49A834291056}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XMLParser.Model", "XMLParser.Model\XMLParser.Model.csproj", "{4EC6DA2E-EF68-4E9E-8471-B0B59BBD96AD}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "XMLParser.Model", "XMLParser.Model\XMLParser.Model.csproj", "{4EC6DA2E-EF68-4E9E-8471-B0B59BBD96AD}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "XMLParser.Functions", "XMLParser.Functions\XMLParser.Functions.csproj", "{660892AF-FB33-422D-9C48-4838DBD95712}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -20,22 +22,7 @@ Global
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{55DEEE0A-8AED-403B-B2C7-F8EEAA45ED1F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{55DEEE0A-8AED-403B-B2C7-F8EEAA45ED1F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{55DEEE0A-8AED-403B-B2C7-F8EEAA45ED1F}.Debug|x64.ActiveCfg = Debug|Any CPU
{55DEEE0A-8AED-403B-B2C7-F8EEAA45ED1F}.Debug|x64.Build.0 = Debug|Any CPU
{55DEEE0A-8AED-403B-B2C7-F8EEAA45ED1F}.Debug|x86.ActiveCfg = Debug|Any CPU
{55DEEE0A-8AED-403B-B2C7-F8EEAA45ED1F}.Debug|x86.Build.0 = Debug|Any CPU
{55DEEE0A-8AED-403B-B2C7-F8EEAA45ED1F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{55DEEE0A-8AED-403B-B2C7-F8EEAA45ED1F}.Release|Any CPU.Build.0 = Release|Any CPU
{55DEEE0A-8AED-403B-B2C7-F8EEAA45ED1F}.Release|x64.ActiveCfg = Release|Any CPU
{55DEEE0A-8AED-403B-B2C7-F8EEAA45ED1F}.Release|x64.Build.0 = Release|Any CPU
{55DEEE0A-8AED-403B-B2C7-F8EEAA45ED1F}.Release|x86.ActiveCfg = Release|Any CPU
{55DEEE0A-8AED-403B-B2C7-F8EEAA45ED1F}.Release|x86.Build.0 = Release|Any CPU
{089D18AE-F5F0-4371-BC0A-AEF00FBBFB55}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{089D18AE-F5F0-4371-BC0A-AEF00FBBFB55}.Debug|Any CPU.Build.0 = Debug|Any CPU
{089D18AE-F5F0-4371-BC0A-AEF00FBBFB55}.Debug|x64.ActiveCfg = Debug|Any CPU
@@ -84,5 +71,23 @@ Global
{4EC6DA2E-EF68-4E9E-8471-B0B59BBD96AD}.Release|x64.Build.0 = Release|Any CPU
{4EC6DA2E-EF68-4E9E-8471-B0B59BBD96AD}.Release|x86.ActiveCfg = Release|Any CPU
{4EC6DA2E-EF68-4E9E-8471-B0B59BBD96AD}.Release|x86.Build.0 = Release|Any CPU
{660892AF-FB33-422D-9C48-4838DBD95712}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{660892AF-FB33-422D-9C48-4838DBD95712}.Debug|Any CPU.Build.0 = Debug|Any CPU
{660892AF-FB33-422D-9C48-4838DBD95712}.Debug|x64.ActiveCfg = Debug|Any CPU
{660892AF-FB33-422D-9C48-4838DBD95712}.Debug|x64.Build.0 = Debug|Any CPU
{660892AF-FB33-422D-9C48-4838DBD95712}.Debug|x86.ActiveCfg = Debug|Any CPU
{660892AF-FB33-422D-9C48-4838DBD95712}.Debug|x86.Build.0 = Debug|Any CPU
{660892AF-FB33-422D-9C48-4838DBD95712}.Release|Any CPU.ActiveCfg = Release|Any CPU
{660892AF-FB33-422D-9C48-4838DBD95712}.Release|Any CPU.Build.0 = Release|Any CPU
{660892AF-FB33-422D-9C48-4838DBD95712}.Release|x64.ActiveCfg = Release|Any CPU
{660892AF-FB33-422D-9C48-4838DBD95712}.Release|x64.Build.0 = Release|Any CPU
{660892AF-FB33-422D-9C48-4838DBD95712}.Release|x86.ActiveCfg = Release|Any CPU
{660892AF-FB33-422D-9C48-4838DBD95712}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {F0FA9E20-CB22-4C5B-8BDF-D19CC32F7A8C}
EndGlobalSection
EndGlobal

View File

@@ -1,4 +1,5 @@
using System;

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
@@ -28,6 +29,19 @@ namespace XMLProgramm
headertitles.Add(ECalculatedResult.SONSTIGEANZAHL,"Anschlussleitung [Stk]");
headertitles.Add(ECalculatedResult.SONSTIGELAENGEZULAGEMETER,"Zulage Länge Anschlussleitung über 7m [m]");
if (Debugger.IsAttached)
{
IProtokollWriter protokollWriter = new XMLParser.Functions.ProtokollWriter.HTMLProtkollWriter(headertitles);
XMLParse sers = new XMLParse("2022-02-15_KR_H_L_Oldenburg_Am-Stadtrand.xml");
var d = sers.KanalObjekte.FindAll(x => x.Inspektionsdaten.OptischeInspektion.Wasserhaltung != EWasserhaltung.NONE);
IUmsatzCalculator calculators = new XMLParser.Functions.UmsatzCalculator.StrassenUmsatz();
calculators.Calculate(protokollWriter, sers.KanalObjekte);
return;
}
if(args.Length > 0)
{
Console.WriteLine(args[0]);