Uebersetzungstabelle.cs 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.IO;
  6. using GCHR.Model.Konto;
  7. namespace GCHR.Model.Uebersetzung
  8. {
  9. class Uebersetzungstabelle
  10. {
  11. public HerstellerKontenrahmen herstellerKontenrahmen { set; private get; }
  12. private Dictionary<string, Eintrag> uebersetzungstabelle = new Dictionary<string, Eintrag>();
  13. public Uebersetzungstabelle(StreamReader sr)
  14. {
  15. while (!sr.EndOfStream)
  16. {
  17. Eintrag eintrag = new Eintrag(sr.ReadLine());
  18. while (uebersetzungstabelle.ContainsKey(eintrag.KontonummerHaendler))
  19. {
  20. eintrag.KontonummerHaendler += "X";
  21. }
  22. uebersetzungstabelle.Add(eintrag.KontonummerHaendler, eintrag);
  23. }
  24. }
  25. public void Speichern(StreamWriter sw)
  26. {
  27. foreach (Eintrag eintrag in uebersetzungstabelle.Values)
  28. {
  29. sw.WriteLine(eintrag);
  30. }
  31. }
  32. public HerstellerKonto Uebersetzen(HaendlerKonto haendlerKonto, bool split)
  33. {
  34. return herstellerKontenrahmen.Get(uebersetzen(haendlerKonto, split));
  35. }
  36. public string uebersetzen(HaendlerKonto haendlerKonto, bool split)
  37. {
  38. return uebersetzungstabelle[haendlerKonto.Kontonummer].Uebersetzen(haendlerKonto, split);
  39. }
  40. }
  41. }