Kandis exporter geschrieben
Deckel und Sohlhöhe werden gespeichert
This commit is contained in:
@@ -8,6 +8,11 @@ using System.Threading.Tasks;
|
||||
|
||||
namespace WWTech_KanalSchnittstelle.Importer
|
||||
{
|
||||
internal enum EKennung
|
||||
{
|
||||
DECKEL = 1,
|
||||
SOHLE = 2
|
||||
}
|
||||
public class CSVImporter : IImport
|
||||
{
|
||||
private string[] input;
|
||||
@@ -36,15 +41,42 @@ namespace WWTech_KanalSchnittstelle.Importer
|
||||
zeile++;
|
||||
if (zeile == 0) continue;
|
||||
string[] parsed = line.Split(new char[] { ';' });
|
||||
result.Add(new Schacht()
|
||||
|
||||
string objektbezeichnung = parsed[0];
|
||||
|
||||
string objektname = objektbezeichnung.Substring(0, objektbezeichnung.Length - 2);
|
||||
EKennung kennung = (EKennung)Convert.ToInt32(objektbezeichnung.Substring(objektbezeichnung.Length - 2, 2));
|
||||
|
||||
bool neueSchacht = false;
|
||||
Schacht? schacht = result.FindLast(x => x.Objektbezeichnung.Equals(objektname) && x.Projekt.Id.Equals(projekt.Id));
|
||||
if (schacht == null)
|
||||
{
|
||||
Objektbezeichnung = parsed[0],
|
||||
RechtsWert = decimal.Parse(parsed[1].Replace('.',',')),
|
||||
HochWert = decimal.Parse(parsed[2].Replace('.', ',')),
|
||||
DeckelHoehe = decimal.Parse(parsed[3].Replace('.', ',')),
|
||||
Projekt = projekt,
|
||||
Entwaesserung = entwaeserung
|
||||
});
|
||||
schacht = new Schacht();
|
||||
neueSchacht = true;
|
||||
}
|
||||
|
||||
if(kennung == EKennung.DECKEL)
|
||||
{
|
||||
schacht.DeckelRechtsWert = decimal.Parse(parsed[1].Replace('.', ','));
|
||||
schacht.DeckelHochWert = decimal.Parse(parsed[2].Replace('.', ','));
|
||||
schacht.DeckelHoehe = decimal.Parse(parsed[3].Replace('.', ','));
|
||||
}
|
||||
if(kennung == EKennung.SOHLE)
|
||||
{
|
||||
schacht.SohlRechtsWert = decimal.Parse(parsed[1].Replace('.', ','));
|
||||
schacht.SohlHochWert = decimal.Parse(parsed[2].Replace('.', ','));
|
||||
schacht.SohlHoehe = decimal.Parse(parsed[3].Replace('.', ','));
|
||||
}
|
||||
|
||||
|
||||
schacht.Projekt = projekt;
|
||||
schacht.Entwaesserung = entwaeserung;
|
||||
|
||||
if (neueSchacht)
|
||||
{
|
||||
schacht.Objektbezeichnung = objektname;
|
||||
result.Add(schacht);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user