Kia.cs 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. using System;
  2. using System.Linq;
  3. using System.Text;
  4. using GCHR.Model.Konto;
  5. namespace GCHR.Model.Mandant
  6. {
  7. class Kia : IMandant
  8. {
  9. public string BalanceBody(HaendlerKonto konto)
  10. {
  11. return (konto.KontoTyp == KontoTypen.ManStat) ?
  12. KontonummerFormatieren(konto).PadRight(20, ' ') + String.Format("{0,18:0.00}", (konto.Summe)).Replace(',', '.') :
  13. string.Join(Environment.NewLine, (from kto in konto.ZugeordneteKonten
  14. group kto by kto.Kontonummer into g
  15. orderby g.Key
  16. select (konto.Kontonummer + "-" + g.Key).PadRight(20, ' ') + string.Format("{0,18:0.00}", (g.Sum(k => k.Summe))).Replace(',', '.')).ToArray());
  17. }
  18. public string AccountsBody(HaendlerKonto konto)
  19. {
  20. return KontonummerFormatieren(konto).PadRight(42, ' ') + konto.Bezeichnung;
  21. }
  22. protected Konfiguration Config = Konfiguration.GetInstance();
  23. public bool BalanceDatei
  24. {
  25. get
  26. {
  27. return true;
  28. }
  29. }
  30. public bool AccountsDatei
  31. {
  32. get
  33. {
  34. return true;
  35. }
  36. }
  37. public string BalanceHeader
  38. {
  39. get
  40. {
  41. return string.Format("AA{0} {1}{2} .20EUR", Config.HaendlernummerBmCode, Config.AktuellePeriode.Monat, Config.AktuellePeriode.JahrZweistellig);
  42. }
  43. }
  44. public string BalanceFooter
  45. {
  46. get
  47. {
  48. return string.Format("XX{0} {1}{2}", Config.HaendlernummerBmCode, Config.AktuellePeriode.Monat, Config.AktuellePeriode.JahrZweistellig);
  49. }
  50. }
  51. public string AccountsHeader
  52. {
  53. get
  54. {
  55. return "Account Code".PadRight(42, ' ') + "Description";
  56. }
  57. }
  58. public string AccountsFooter
  59. {
  60. get
  61. {
  62. return string.Empty;
  63. }
  64. }
  65. public string KontonummerFormatieren(HaendlerKonto konto)
  66. {
  67. return konto.Kontonummer;
  68. }
  69. public Encoding Encoding
  70. {
  71. get { return Encoding.Default; }
  72. }
  73. }
  74. }