namespace Distribution.Features.GeneralLedger; /// SysConfig keys holding the GL account codes Distribution posts to (created by GlSetupService). public static class GlKeys { public const string SetupDone = "Gl.Setup.Done"; public const string CashEquivalents = "Gl.Account.CashEquivalents"; // parent of Cash in Hand + Bank Accounts (GL cash root) public const string CashInHand = "Gl.Account.CashInHand"; // parent of every Distribution Cash account public const string BankAccounts = "Gl.Account.BankAccounts"; // parent of every Distribution Bank account public const string ChequesInHand = "Gl.Account.ChequesInHand"; public const string Receivable = "Gl.Account.Receivable"; public const string Inventory = "Gl.Account.Inventory"; public const string InputVat = "Gl.Account.InputVat"; public const string InputNbt = "Gl.Account.InputNbt"; public const string Payable = "Gl.Account.Payable"; public const string ChequesIssued = "Gl.Account.ChequesIssued"; public const string Equity = "Gl.Account.Equity"; // header; parent of the equity accounts below public const string ShareCapital = "Gl.Account.ShareCapital"; public const string RetainedEarnings = "Gl.Account.RetainedEarnings"; public const string Drawings = "Gl.Account.Drawings"; public const string GeneralReserve = "Gl.Account.GeneralReserve"; public const string RevaluationReserve = "Gl.Account.RevaluationReserve"; public const string Sales = "Gl.Account.Sales"; public static readonly string[] AllAccountKeys = [ CashEquivalents, CashInHand, BankAccounts, ChequesInHand, Receivable, Inventory, InputVat, InputNbt, Payable, ChequesIssued, Equity, ShareCapital, RetainedEarnings, Drawings, GeneralReserve, RevaluationReserve, Sales ]; public static bool IsGlKey(string key) => key == SetupDone || AllAccountKeys.Contains(key); }