Projekteinstellungen erweitert

This commit is contained in:
2023-04-24 13:27:39 +02:00
parent 7fd87cff09
commit 76731c3464
20 changed files with 242 additions and 116 deletions

View File

@@ -0,0 +1,25 @@
using SewerStammGen.Shared.Domain;
using SewerStammGen.Shared.Enum;
using Shared.Contracts;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WWTech_KanalSchnittstelle.Exporter.Kandis;
namespace WWTech_KanalSchnittstelle.Exporter
{
public static class ExporterFactory
{
public static IExport Export(EExportType exportType)
{
switch(exportType)
{
case EExportType.KANDIS6: return new KANDIS60();
default: throw new NotImplementedException();
}
}
}
}

View File

@@ -0,0 +1,21 @@
using SewerStammGen.Shared.Domain;
using SewerStammGen.Shared.Enum;
using Shared.Contracts;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WWTech_KanalSchnittstelle.Exporter.Kandis
{
public class KANDIS60 : IExport
{
public async Task<bool> Export(string projektname,EKodierungssystem kodierungssystem, List<Kanal> haltungen, List<Schacht> schaechte)
{
KANDIS_HALTUNG60 haltung = new KANDIS_HALTUNG60(projektname, haltungen);
KANDIS_SCHACHT60 schacht = new KANDIS_SCHACHT60(projektname, schaechte);
return true;
}
}
}

View File

@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
@@ -16,7 +17,7 @@ namespace WWTech_KanalSchnittstelle.Exporter.Kandis
{ "KANHAL6.0",2167 }
};
}
public abstract class KANDIS_Exporter : IDisposable
internal abstract class KANDIS_Exporter : IDisposable
{
private StreamWriter sw;
char[] zeile;
@@ -50,12 +51,14 @@ namespace WWTech_KanalSchnittstelle.Exporter.Kandis
protected void WriteContent(Tuple<uint, uint> spalten, string content)
{
uint start = spalten.Item1 - 1;
uint ende = spalten.Item2 - 1;
uint ende = spalten.Item2 -1;
uint length = ende - start;
if(length > content.Length)
uint length = (ende+1) - start;
if(content.Length > length)
{
throw new Exception("Inhalt des Feldes ist zu lang");
content = content.Substring(0, (int)length);
//Debugger.Break();
//throw new Exception("Inhalt des Feldes ist zu lang");
}
int counter = 0;

View File

@@ -7,9 +7,9 @@ using System.Threading.Tasks;
namespace WWTech_KanalSchnittstelle.Exporter.Kandis
{
public class KANDIS_HALTUNG60 : KANDIS_Exporter
internal class KANDIS_HALTUNG60 : KANDIS_Exporter
{
public KANDIS_HALTUNG60(string filename, List<Kanal> kanaele) : base(filename, ExporterHelper.Exporters["KANHAL6.0"])
public KANDIS_HALTUNG60(string filename, List<Kanal> kanaele) : base(filename+".hal", ExporterHelper.Exporters["KANHAL6.0"])
{
foreach(Kanal haltung in kanaele)
{
@@ -18,7 +18,7 @@ namespace WWTech_KanalSchnittstelle.Exporter.Kandis
WriteContent(new Tuple<uint, uint>(45, 64), haltung.Objektbezeichnung);
WriteContent(new Tuple<uint, uint>(66, 75), "K"); // Kanalart
WriteContent(new Tuple<uint, uint>(77, 86), "S"); // Entwässerungskennzeichen
WriteContent(new Tuple<uint, uint>(88, 97), "B"); // Betriebzustand
WriteContent(new Tuple<uint, uint>(88, 97), "IB"); // Betriebzustand
WriteContent(new Tuple<uint, uint>(173, 182), haltung.Material);
WriteContent(new Tuple<uint, uint>(184, 193), "1"); // Profil
WriteContent(new Tuple<uint, uint>(195, 198), haltung.DN.ToString()); // Profilhöhe
@@ -31,6 +31,7 @@ namespace WWTech_KanalSchnittstelle.Exporter.Kandis
WriteContent(new Tuple<uint, uint>(336, 345), "1"); // Status Sohlhöhe ES
WriteContent(new Tuple<uint, uint>(1152, 1161), "Marwede"); // Vermesser
WriteContent(new Tuple<uint, uint>(1257, 1266), "19.04.2023"); // Aufnahmedatum
WriteLineInFile();
}
CloseStream();
}

View File

@@ -2,9 +2,9 @@
namespace WWTech_KanalSchnittstelle.Exporter.Kandis
{
public class KANDIS_SCHACHT60 : KANDIS_Exporter
internal class KANDIS_SCHACHT60 : KANDIS_Exporter
{
public KANDIS_SCHACHT60(string filename,List<Schacht> schaechte) : base(filename, ExporterHelper.Exporters["KANSCH6.0"])
public KANDIS_SCHACHT60(string filename,List<Schacht> schaechte) : base(filename+".sch", ExporterHelper.Exporters["KANSCH6.0"])
{
foreach(Schacht schacht in schaechte)