public void CreateOrUpdate(BankBindingModel model) { using (var context = new BankDatabase()) { Bank element = context.Banks.FirstOrDefault(rec => rec.Name == model.Name && rec.Id != model.Id); if (element != null) { throw new Exception("Уже есть банк с таким названием"); } if (model.Id.HasValue) { element = context.Banks.FirstOrDefault(rec => rec.Id == model.Id); if (element == null) { throw new Exception("Элемент не найден"); } } else { element = new Bank(); context.Banks.Add(element); } element.Name = model.Name; element.Type = model.Type; element.DateCreate = model.DateOpened; context.SaveChanges(); } }
public override void Execute(int accountNumber, Screen atmScreen) { _amount = PromptForDepositAmount(atmScreen); if (_amount != CANCELED) { atmScreen.DisplayMessage("Please insert a deposit envelope containing "); atmScreen.DisplayDollarAmount(_amount); atmScreen.DisplayMessageLine(" in the deposit slot."); bool envelopeReceived = _depositSlot.IsEnvelopeReceived; if (envelopeReceived) { atmScreen.DisplayMessageLine( "Your envelope has been received.\n" + "The money just deposited will not be available " + "until we \nverify the amount of any " + "enclosed cash, and any enclosed checks clear."); BankDatabase.Credit(accountNumber, _amount); } else { atmScreen.DisplayMessageLine("You did not insert an envelope, so the ATM has canceled your transaction."); } } else { atmScreen.DisplayMessageLine("Canceling transaction."); } Sleep(3000); }
//TODO: constructor con cinco parametros numero de cuenta de usuario, pantalla, base de datos //teclado y lugar de deposito, con un constructor base public Deposit(int userAccountNumber, Screen atmScreen, BankDatabase atmBankDatabase, Keypad atmKeypad, DepositSlot atmDepositSlot) : base(userAccountNumber, atmScreen, atmBankDatabase) { //TODO: inicializamos el teclado y lugar de deposito }
public void CreateOrUpdate(DepositBindingModel model) { using (var context = new BankDatabase()) { Deposit element = context.Deposits.FirstOrDefault(rec => rec.ClientFIO == model.ClientFIO && rec.Id != model.Id); if (element != null) { throw new Exception("Уже есть вклад с таким именем"); } if (model.Id.HasValue) { element = context.Deposits.FirstOrDefault(rec => rec.Id == model.Id); if (element == null) { throw new Exception("Элемент не найден"); } } else { element = new Deposit(); context.Deposits.Add(element); } element.ClientFIO = model.ClientFIO; element.SizeDeposit = model.SizeDeposit; element.Email = model.Email; element.DateOpened = model.DateOpened; element.TypeValue = model.TypeValue; context.SaveChanges(); } }
private BankDatabase database; // reference to account info database // three-parameter constructor invoked by derived classes public Transaction(int userAccount, Screen theScreen, BankDatabase theDatabase) { accountNumber = userAccount; userScreen = theScreen; database = theDatabase; }
public Deposit(int currentAccountNumber, Screen screen, BankDatabase bankDatabase, Keypad keypad, DepositSlot depositSlot) { this.currentAccountNumber = currentAccountNumber; this.screen = screen; this.bankDatabase = bankDatabase; this.keypad = keypad; this.depositSlot = depositSlot; }
// five-parameter constructor initializes class's instance variables public Deposit(int userAccountNumber, Screen atmScreen, BankDatabase atmBankDatabase, Keypad atmKeypad, DepositSlot atmDepositSlot) : base(userAccountNumber, atmScreen, atmBankDatabase) { // initialize references to keypad and deposit slot keypad = atmKeypad; depositSlot = atmDepositSlot; }
// five-parameter constructor public Withdrawal(int userAccountNumber, Screen atmScreen, BankDatabase atmBankDatabase, Keypad atmKeypad, CashDispenser atmCashDispenser) : base(userAccountNumber, atmScreen, atmBankDatabase) { // initialize references to keypad and cash dispenser keypad = atmKeypad; cashDispenser = atmCashDispenser; }
public TestClass() { _depositSlot = new DepositSlot(); _menu = new Menu(); _bankDatabase = new BankDatabase(); _iScreen = new Screen(); _keypad = new Keypad(); _cashDispenser = new CashDispenser(); }
private Keypad keypad; // reference to Keypad #endregion Fields #region Constructors // five-parameter constructor public Withdrawal( int userAccountNumber, Screen atmScreen, BankDatabase atmBankDatabase, Keypad atmKeypad, CashDispenser atmCashDispenser) : base(userAccountNumber, atmScreen, atmBankDatabase) { // initialize references to keypad and cash dispenser keypad = atmKeypad; cashDispenser = atmCashDispenser; }
private bool userAuthenticated; // true if user is authenticated #endregion Fields #region Constructors // parameterless constructor initializes instance variables public ATM() { userAuthenticated = false; // user is not authenticated to start currentAccountNumber = 0; // no current account number to start screen = new Screen(); // create screen keypad = new Keypad(); // create keypad cashDispenser = new CashDispenser(); // create cash dispenser depositSlot = new DepositSlot(); // create deposit slot bankDatabase = new BankDatabase(); // create account info database }
// parameterless constructor initializes instance variables public ATM() { userAuthenticated = false; // user is not authenticated to start currentAccountNumber = 0; // no current account number to start screen = new Screen(); // create screen keypad = new Keypad(); // create keypad cashDispenser = new CashDispenser(); // create cash dispenser depositSlot = new DepositSlot(); // create deposit slot bankDatabase = new BankDatabase(); // create account info database }
static void Main(string[] args) { cashDispenser = new CashDispenser(); bankDatabase = new BankDatabase(); depositSlot = new DepositSlot(); keypad = new Keypad(); screen = new Screen(); menu = new Menu(); atm = new ATM(cashDispenser, bankDatabase, depositSlot, keypad, screen, menu); atm.Run(); }
public override void Execute() { BankDatabase bankDatabase = database; var AvailableBalance = bankDatabase.getAvailableBalance(AccountNumber); var TotalBalance = bankDatabase.getTotalBalance(AccountNumber); UserScreen.DisplayMessageLine("\nBalance Information"); UserScreen.DisplayMessage(" - Available Balance: "); UserScreen.DisplayDollarAmount(AvailableBalance); UserScreen.DisplayMessage("\n - Total Balance: "); UserScreen.DisplayDollarAmount(TotalBalance); UserScreen.DisplayMessageLine(""); }
public List <BankViewModel> Read(BankBindingModel model) { using (var context = new BankDatabase()) { return(context.Banks .Where(rec => model == null || rec.Id == model.Id) .Select(rec => new BankViewModel { Id = rec.Id, Name = rec.Name, Type = rec.Type, DateCreate = rec.DateCreate }) .ToList()); } }
public override void Execute(int accountNumber, Screen screen) { BankDatabase bankDatabase = BankDatabase; decimal availableBalance = bankDatabase.GetAvailableBalance(accountNumber); decimal totalBalance = bankDatabase.GetTotalBalance(accountNumber); screen.DisplayMessageLine("\nBalance Information:"); screen.DisplayMessage(" - Available balance: "); screen.DisplayDollarAmount(availableBalance); screen.DisplayMessage("\n - Total balance: "); screen.DisplayDollarAmount(totalBalance); screen.DisplayMessageLine(string.Empty); Sleep(5000); }
public void Delete(DepositBindingModel model) { using (var context = new BankDatabase()) { Deposit element = context.Deposits.FirstOrDefault(rec => rec.Id == model.Id); if (element != null) { context.Deposits.Remove(element); context.SaveChanges(); } else { throw new Exception("Элемент не найден"); } } }
public List <DepositViewModel> Read(DepositBindingModel model) { using (var context = new BankDatabase()) { return(context.Deposits .Where(rec => model == null || rec.Id == model.Id || (model.DateFrom.HasValue && model.DateTo.HasValue && rec.Bank.DateCreate >= model.DateFrom && rec.Bank.DateCreate <= model.DateTo)) .Select(rec => new DepositViewModel { Id = rec.Id, ClientFIO = rec.ClientFIO, Email = rec.Email, BankId = rec.BankId, TypeValue = rec.TypeValue, DateOpened = rec.Bank.DateCreate, Name = rec.Bank.Name, }) .ToList()); } }
public override void Execute(int accountNumber, Screen atmScreen) { bool isCashDispensed = false; decimal availableBalance; BankDatabase bankDatabase = BankDatabase; do { _amount = DisplayMenuOfAmounts(atmScreen); if (_amount != CANCELED) { availableBalance = bankDatabase.GetAvailableBalance(accountNumber); if (_amount <= availableBalance) { if (_cashDispenser.IsSufficiantCashAvailable(_amount)) { bankDatabase.Debit(accountNumber, _amount); _cashDispenser.DispenseCash(_amount); isCashDispensed = true; atmScreen.DisplayMessageLine("\nYour cash has been dispensed. Please take your cash now."); } else { atmScreen.DisplayMessageLine("\nInsufficient cash available in the ATM.\n\nPlease choose a smaller amount."); } } else { atmScreen.DisplayMessage("\nInsufficient funds in your account.\n\nPlease choose a smaller amount."); } Sleep(3000); } else { atmScreen.DisplayMessageLine("\nCancelling transaction..."); Sleep(3000); return; } } while (!isCashDispensed); }
public override void Execute() { bool cashDispensed = false; decimal availableBalance; BankDatabase bankDatabase = database; Screen screen = new Screen(); do { amount = (decimal)displayMenu(); if (amount != CANCELED) { availableBalance = bankDatabase.getAvailableBalance(AccountNumber); if (amount <= availableBalance) { bankDatabase.Debit(AccountNumber, amount); cashDispenser.DispenseCash(amount); cashDispensed = true; screen.DisplayMessageLine("\nYour cash has been dispensed. Please take your cash now."); } else { screen.DisplayMessageLine("\nInsufficient funds in your account. \nPlease choose a smaller amount."); } } else { screen.DisplayMessageLine("\nCanceling transaction..."); return; } } while (!cashDispensed); }
public ITransaction(int userAccountNumber, BankDatabase atmBankDatabase) { this.AccountNumber = userAccountNumber; this.BankDatabase = atmBankDatabase; }
public BalanceInquiry(BankDatabase atmBankDatabase) : base(atmBankDatabase) { }
// five-parameter constructor initializes base class variables public BalanceInquiry(int userAccountNumber, Screen atmScreen, BankDatabase atmBankDatabase) : base(userAccountNumber, atmScreen, atmBankDatabase) { }
public Withdrawal(BankDatabase atmBankDatabase, Keypad atmKeypad, CashDispenser atmCashDispenser) : base(atmBankDatabase) { _keypad = atmKeypad; _cashDispenser = atmCashDispenser; }
public Deposit(BankDatabase atmBankDatabase, Keypad atmKeypad, DepositSlot atmDepositSlot) : base(atmBankDatabase) { _keypad = atmKeypad; _depositSlot = atmDepositSlot; }
public TransactionFactory() { BankDatabase = new BankDatabase(); }
public AuthenticateService() { BankDatabase = new BankDatabase(); }
/// <summary> /// Constructor /// </summary> public FFIEC_Interface(BankDatabase database) { this.database = database; }
public Transaction(int userAccountNumber, BankDatabase atmBankDatabase, Screen atmScreen) { this.AccountNumber = userAccountNumber; this.BankDatabase = atmBankDatabase; this.Screen = atmScreen; }
public Withdrawal(int userAccount, Screen screen, BankDatabase bankDatabase, Keypad keypad, CashDispenser cashDispenser) : base(userAccount, screen, bankDatabase) { this.keypad = keypad; this.cashDispenser = cashDispenser; }
public BalanceInquiry(int accountNumber, Screen screen, BankDatabase bankDatabase) : base(accountNumber, screen, bankDatabase) { }
public Transaction(BankDatabase atmBankDatabase) { BankDatabase = atmBankDatabase; }
protected void Page_Load(object sender, EventArgs e) { if(!IsPostBack) { adap.FillBy1(dt, Request.QueryString[0]); foreach (DataRow row in dt.Rows) { if (row["acc_type"].ToString() == "Checkings") { lblChecking.Text = " $" + row["acc_balance"].ToString(); checking=Convert.ToDecimal(row["acc_balance"]); } if (row["acc_type"].ToString() == "Savings") lblSavings.Text = "$"+ row["acc_balance"].ToString(); saving=Convert.ToDecimal(row["acc_balance"]); } lblTransfer.Text = "Savings"; ViewState["C"] = checking; ViewState["S"] = saving; } cashDispenser = new CashDispenser(); // create cash dispenser depositSlot = new DepositSlot(); // create deposit slot bankDatabase = new BankDatabase(); }