using SewerStammGen.Shared.Domain; using Shared.Contracts; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace WWTech_KanalSchnittstelle.Importer { public class CSVImporter : IImport { private string[] input; private readonly Projekt projekt; #pragma warning disable CS8618 // Ein Non-Nullable-Feld muss beim Beenden des Konstruktors einen Wert ungleich NULL enthalten. Erwägen Sie die Deklaration als Nullable. public CSVImporter(int projektID) #pragma warning restore CS8618 // Ein Non-Nullable-Feld muss beim Beenden des Konstruktors einen Wert ungleich NULL enthalten. Erwägen Sie die Deklaration als Nullable. { projekt = new Projekt() { Id = projektID }; } public List LoadSchaechte(string filename, EEntwaeserung entwaeserung) { List result = new List(); if(!File.Exists(filename)) { throw new FileNotFoundException(filename); } input = File.ReadAllLines(filename); int zeile = -1; foreach (string line in input) { zeile++; if (zeile == 0) continue; string[] parsed = line.Split(new char[] { ';' }); result.Add(new Schacht() { 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 }); } return result; } } }