using System; using System.Linq; using System.Text; using GCHR.Model.Konto; namespace GCHR.Model.Mandant { class Kia : IMandant { public string BalanceBody(HaendlerKonto konto) { return (konto.KontoTyp == KontoTypen.ManStat) ? KontonummerFormatieren(konto).PadRight(20, ' ') + String.Format("{0,18:0.00}", (konto.Summe)).Replace(',', '.') : string.Join(Environment.NewLine, (from kto in konto.ZugeordneteKonten group kto by kto.Kontonummer into g orderby g.Key select (konto.Kontonummer + "-" + g.Key).PadRight(20, ' ') + string.Format("{0,18:0.00}", (g.Sum(k => k.Summe))).Replace(',', '.')).ToArray()); } public string AccountsBody(HaendlerKonto konto) { return KontonummerFormatieren(konto).PadRight(42, ' ') + konto.Bezeichnung; } protected Konfiguration Config = Konfiguration.GetInstance(); public bool BalanceDatei { get { return true; } } public bool AccountsDatei { get { return true; } } public string BalanceHeader { get { return string.Format("AA{0} {1}{2} .20EUR", Config.HaendlernummerBmCode, Config.AktuellePeriode.Monat, Config.AktuellePeriode.JahrZweistellig); } } public string BalanceFooter { get { return string.Format("XX{0} {1}{2}", Config.HaendlernummerBmCode, Config.AktuellePeriode.Monat, Config.AktuellePeriode.JahrZweistellig); } } public string AccountsHeader { get { return "Account Code".PadRight(42, ' ') + "Description"; } } public string AccountsFooter { get { return string.Empty; } } public string KontonummerFormatieren(HaendlerKonto konto) { return konto.Kontonummer; } public Encoding Encoding { get { return Encoding.Default; } } } }