/// <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(); }
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(); }
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 { } }