Exemplo n.º 1
0
        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();
            }
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
 //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
 }
Exemplo n.º 4
0
 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();
     }
 }
Exemplo n.º 5
0
    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;
    }
Exemplo n.º 6
0
 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;
 }
Exemplo n.º 7
0
 // 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;
 }
Exemplo n.º 8
0
 // 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;
 } 
Exemplo n.º 9
0
 public TestClass()
 {
     _depositSlot   = new DepositSlot();
     _menu          = new Menu();
     _bankDatabase  = new BankDatabase();
     _iScreen       = new Screen();
     _keypad        = new Keypad();
     _cashDispenser = new CashDispenser();
 }
Exemplo n.º 10
0
    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;
    }
Exemplo n.º 11
0
Arquivo: ATM.cs Projeto: Kazempour/src
    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
    }
Exemplo n.º 12
0
 // 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
 }
Exemplo n.º 13
0
        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();
        }
Exemplo n.º 14
0
        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("");
        }
Exemplo n.º 15
0
 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());
     }
 }
Exemplo n.º 16
0
        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);
        }
Exemplo n.º 17
0
 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("Элемент не найден");
         }
     }
 }
Exemplo n.º 18
0
 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());
     }
 }
Exemplo n.º 19
0
        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);
        }
Exemplo n.º 20
0
        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;
 }
Exemplo n.º 22
0
 public BalanceInquiry(BankDatabase atmBankDatabase)
     : base(atmBankDatabase)
 {
 }
Exemplo n.º 23
0
 // five-parameter constructor initializes base class variables
 public BalanceInquiry(int userAccountNumber,
                       Screen atmScreen, BankDatabase atmBankDatabase)
     : base(userAccountNumber, atmScreen, atmBankDatabase)
 {
 }
Exemplo n.º 24
0
 public Withdrawal(BankDatabase atmBankDatabase, Keypad atmKeypad, CashDispenser atmCashDispenser)
     : base(atmBankDatabase)
 {
     _keypad        = atmKeypad;
     _cashDispenser = atmCashDispenser;
 }
Exemplo n.º 25
0
 public Deposit(BankDatabase atmBankDatabase, Keypad atmKeypad, DepositSlot atmDepositSlot)
     : base(atmBankDatabase)
 {
     _keypad      = atmKeypad;
     _depositSlot = atmDepositSlot;
 }
Exemplo n.º 26
0
 public TransactionFactory()
 {
     BankDatabase = new BankDatabase();
 }
Exemplo n.º 27
0
 public AuthenticateService()
 {
     BankDatabase = new BankDatabase();
 }
Exemplo n.º 28
0
 /// <summary>
 /// Constructor
 /// </summary>
 public FFIEC_Interface(BankDatabase database)
 {
     this.database = database;
 }
Exemplo n.º 29
0
 public Transaction(int userAccountNumber, BankDatabase atmBankDatabase, Screen atmScreen)
 {
     this.AccountNumber = userAccountNumber;
     this.BankDatabase  = atmBankDatabase;
     this.Screen        = atmScreen;
 }
Exemplo n.º 30
0
 public Withdrawal(int userAccount, Screen screen, BankDatabase bankDatabase, Keypad keypad, CashDispenser cashDispenser) : base(userAccount, screen, bankDatabase)
 {
     this.keypad        = keypad;
     this.cashDispenser = cashDispenser;
 }
Exemplo n.º 31
0
 public BalanceInquiry(int accountNumber, Screen screen, BankDatabase bankDatabase) : base(accountNumber, screen, bankDatabase)
 {
 }
Exemplo n.º 32
0
 public Transaction(BankDatabase atmBankDatabase)
 {
     BankDatabase = atmBankDatabase;
 }
Exemplo n.º 33
0
    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();
    }