Example #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="accountNumber"></param>
        /// <param name="amount"></param>
        /// <exception cref="ArgumentException">Argument exception</exception>
        public static void Deposit(int accountNumber, decimal amount)
        {
            if (accountNumber <= 0)
            {
                throw new ArgumentException("Account Number is invalid");
            }
            if (amount <= 0)
            {
                throw new ArgumentException("Amount is invalid");
            }
            var db      = new BankDB();
            var account = db.Accounts.Where(a => a.AccountNumber == accountNumber).FirstOrDefault();

            if (account == null)
            {
                throw new ArgumentOutOfRangeException("Inavlid Account Number");
            }

            account.Deposit(amount);
            db.Entry(account).State = System.Data.Entity.EntityState.Modified;
            var transaction = new Transaction();

            transaction.TransactionDate = DateTime.Now;
            transaction.Amount          = amount;
            transaction.TransactionType = TransactionType.Credit;
            transaction.Description     = "Deposit to account";
            transaction.AccountNumber   = accountNumber;

            db.Transactions.Add(transaction);
            db.SaveChanges();
        }
Example #2
0
        public static void EditAccount(Account account)
        {
            var db         = new BankDB();
            var oldAccount = db.Accounts.Find(account.AccountNumber);

            oldAccount.AccountName     = account.AccountName;
            oldAccount.TypeOfAccount   = account.TypeOfAccount;
            db.Entry(oldAccount).State = System.Data.Entity.EntityState.Modified;
            db.SaveChanges();
        }
Example #3
0
        public static void Withdraw(int accountNumber, decimal amount)
        {
            var db      = new BankDB();
            var account = db.Accounts.Where(a => a.AccountNumber == accountNumber).FirstOrDefault();

            if (account != null)
            {
                account.WithDraw(amount);
                db.Entry(account).State = System.Data.Entity.EntityState.Modified;
                var transaction = new Transaction();
                transaction.TransactionDate = DateTime.Now;
                transaction.Amount          = amount;
                transaction.TransactionType = TransactionType.Debit;
                transaction.Description     = "Withdraw from account";
                transaction.AccountNumber   = accountNumber;

                db.Transactions.Add(transaction);
                db.SaveChanges();
            }
            try { }
            catch { }
        }