Пример #1
0
 public static Ledger Map(DbLedger ledger)
 {
     return(new Ledger(
                ledger.Ledger_Id,
                ledger.Transaction_Type,
                ledger.Amount));
 }
Пример #2
0
        public Ledger CreateLedger(Account account, Ledger ledger)
        {
            if (ledger == null)
            {
                throw new ArgumentException("Ledger Null");
            }

            if (account == null || string.IsNullOrWhiteSpace(account.UserName))
            {
                throw new ArgumentException("Account Null or Username invalid");
            }

            var   ledgerCountKey = $"{account.UserName.ToLower()}_ledgerCount";
            ulong ledgerCount    = BankLedgerService.DataBase.ContainsKey(ledgerCountKey)
                                ? (ulong)BankLedgerService.DataBase[ledgerCountKey] : 0;

            ledgerCount += 1;

            var newLedger = new Ledger(ledgerCount, ledger.TransactionType, ledger.Amount);
            var dbLedger  = new DbLedger
            {
                Ledger_Id        = ledgerCount,
                Transaction_Type = (int)ledger.TransactionType,
                Amount           = ledger.Amount
            };

            var ledgerKey = $"{account.UserName.ToLower()}_Ledger_{ledgerCount}";

            if (BankLedgerService.DataBase.ContainsKey(ledgerKey))
            {
                return(null);
            }

            BankLedgerService.DataBase[ledgerKey]      = dbLedger;
            BankLedgerService.DataBase[ledgerCountKey] = ledgerCount;

            return(newLedger);
        }