Eintrag.cs 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using GCHR.Model.Konto;
  6. namespace GCHR.Model.Uebersetzung
  7. {
  8. class Eintrag
  9. {
  10. public string KontonummerHaendler;
  11. private string ktnrHerstellerSusa = "";
  12. private string ktnrHerstellerSusaSplit = "";
  13. private string ktnrHerstellerStat = "";
  14. private string ktnrHerstellerStatSplit = "";
  15. public Eintrag(string csv)
  16. {
  17. string[] feld = csv.Split(new char[] { ';' });
  18. try
  19. {
  20. KontonummerHaendler = feld[0];
  21. ktnrHerstellerSusa = feld[1];
  22. ktnrHerstellerSusaSplit = feld[2];
  23. ktnrHerstellerStat = feld[3];
  24. ktnrHerstellerStatSplit = feld[4];
  25. }
  26. catch (ArgumentOutOfRangeException)
  27. {
  28. }
  29. }
  30. public override string ToString()
  31. {
  32. return String.Join(";", new string[] { KontonummerHaendler, ktnrHerstellerSusa, ktnrHerstellerSusaSplit,
  33. ktnrHerstellerStat, ktnrHerstellerStatSplit });
  34. }
  35. public string Uebersetzen(HaendlerKonto haendlerKonto, bool split)
  36. {
  37. string herstellerKontonummer = uebersetzen(haendlerKonto, split);
  38. if (herstellerKontonummer == "") throw new KontoNichtZugeordnetException(haendlerKonto);
  39. return herstellerKontonummer;
  40. }
  41. private string uebersetzen(HaendlerKonto haendlerKonto, bool split)
  42. {
  43. if (haendlerKonto.KontoTyp == KontoTypen.Stat)
  44. {
  45. return (split) ? ktnrHerstellerStatSplit : ktnrHerstellerStat;
  46. }
  47. else
  48. {
  49. return (split) ? ktnrHerstellerSusaSplit : ktnrHerstellerSusa;
  50. }
  51. }
  52. public void Debug(bool susaKonto, bool splitKontenVerwenden)
  53. {
  54. if (susaKonto && ktnrHerstellerSusa == "")
  55. throw new KontoNichtZugeordnetException(KontonummerHaendler);
  56. }
  57. }
  58. }