using System; using System.Collections.Generic; using System.Linq; using System.Text; using GCHR.Model.Konto; namespace GCHR.Model.Uebersetzung { class Eintrag { public string KontonummerHaendler; private string ktnrHerstellerSusa = ""; private string ktnrHerstellerSusaSplit = ""; private string ktnrHerstellerStat = ""; private string ktnrHerstellerStatSplit = ""; public Eintrag(string csv) { string[] feld = csv.Split(new char[] { ';' }); try { KontonummerHaendler = feld[0]; ktnrHerstellerSusa = feld[1]; ktnrHerstellerSusaSplit = feld[2]; ktnrHerstellerStat = feld[3]; ktnrHerstellerStatSplit = feld[4]; } catch (ArgumentOutOfRangeException) { } } public override string ToString() { return String.Join(";", new string[] { KontonummerHaendler, ktnrHerstellerSusa, ktnrHerstellerSusaSplit, ktnrHerstellerStat, ktnrHerstellerStatSplit }); } public string Uebersetzen(HaendlerKonto haendlerKonto, bool split) { string herstellerKontonummer = uebersetzen(haendlerKonto, split); if (herstellerKontonummer == "") throw new KontoNichtZugeordnetException(haendlerKonto); return herstellerKontonummer; } private string uebersetzen(HaendlerKonto haendlerKonto, bool split) { if (haendlerKonto.KontoTyp == KontoTypen.Stat) { return (split) ? ktnrHerstellerStatSplit : ktnrHerstellerStat; } else { return (split) ? ktnrHerstellerSusaSplit : ktnrHerstellerSusa; } } public void Debug(bool susaKonto, bool splitKontenVerwenden) { if (susaKonto && ktnrHerstellerSusa == "") throw new KontoNichtZugeordnetException(KontonummerHaendler); } } }