using System.Text;
using GCHR.Model.Konto;

namespace GCHR.Model.Mandant
{
    interface IMandant
    {
        /// <summary>
        /// Zieldatei für Balance-Werte, standardmäßig 'export\export_MM-JJJJ_balance.txt'
        /// </summary>
        bool BalanceDatei { get; }
        /// <summary>
        /// Kopfzeile von BalanceDatei
        /// </summary>
        string BalanceHeader { get; }
        /// <summary>
        /// Zeilenformatierung von BalanceDatei
        /// </summary>
        string BalanceBody(HaendlerKonto kto);
        /// <summary>
        /// Fußzeile von BalanceDatei
        /// </summary>
        string BalanceFooter { get; }


        /// <summary>
        /// Zieldatei für den Kontenrahmen, standardmäßig 'export\export_MM-JJJJ_accounts.txt'
        /// </summary>
        bool AccountsDatei { get; }
        /// <summary>
        /// Kopfzeile von AccountsDatei
        /// </summary>
        string AccountsHeader { get; }
        /// <summary>
        /// Zeilenformatierung von AccountsDatei
        /// </summary>
        string AccountsBody(HaendlerKonto kto);
        /// <summary>
        /// Fußzeile von AccountsDatei
        /// </summary>
        string AccountsFooter { get; }

        string KontonummerFormatieren(HaendlerKonto konto);

        Encoding Encoding { get; }
    }
}