Kia.cs 2.2 KB

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