using System; using System.Globalization; 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 || konto.ZugeordneteKonten.Count == 0) ? KontonummerFormatieren(konto) + ";" + konto.Bezeichnung + ";" + konto.Summe.ToString(CultureInfo.CurrentCulture).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) + ";" + g.First().Bezeichnung + ";" + g.Sum(k => k.Summe).ToString(CultureInfo.CurrentCulture).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 false; } } public string BalanceHeader { get { return string.Format("AA{0};HR Kia;{2}-{1} kum. [in EUR]", Config.HaendlernummerBmCode, Config.AktuellePeriode.Monat, Config.AktuellePeriode.Jahr); } } public string BalanceFooter { get { return string.Empty; } } public string AccountsHeader { get { return string.Empty; } } public string AccountsFooter { get { return string.Empty; } } public string KontonummerFormatieren(HaendlerKonto konto) { return konto.Kontonummer; } public Encoding Encoding { get { return Encoding.Default; } } } }