示例#1
0
        public long AddAmountToAccount(long amount, long NRB)
        {
            try
            {
                Account sourceAccount = _db.accounts.Where(x => x.NRB == NRB).FirstOrDefault();
                sourceAccount.Ammount += amount;
                _db.SaveChanges();
                var operation = new TransactionOperation(_db);
                operation.SaveTransaction(sourceAccount.UserId, amount, true);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }

            return(amount);
        }
示例#2
0
 public long TransferMoney(long amount, long FromNRB, long ToNRB)
 {
     try
     {
         Account sourceAccount = _db.accounts.Where(x => x.NRB == FromNRB).FirstOrDefault();
         Account targetAccount = _db.accounts.Where(x => x.NRB == ToNRB).FirstOrDefault();
         sourceAccount.Ammount -= amount;
         targetAccount.Ammount += amount;
         _db.SaveChanges();
         var operation = new TransactionOperation(_db);
         operation.SaveTransaction(sourceAccount.UserId, amount, false);
     }
     catch (Exception ex)
     {
         Console.WriteLine(ex.ToString());
     }
     return(amount);
 }
示例#3
0
        static void Main(string[] args)
        {
            AutofacConfig.ConfigureBuilder();

            int selectedOption = 0;

            Console.WriteLine("Witam w programie BANK TDD");

            while (true)
            {
                Console.WriteLine("Wybierz odpowiednią funkcjonalność:");
                Console.WriteLine("1 - Logowanie do systemu");
                Console.WriteLine("2 - Wpłata na konto");
                Console.WriteLine("3 - Wypłata z konta");
                Console.WriteLine("4 - Przelew zwykły");
                Console.WriteLine("5 - Sprawdzenie salda");
                Console.WriteLine("6 - Generuj raport transakcji użytkownika");
                Console.WriteLine("7 - Generuj raport kont");
                selectedOption = Convert.ToInt32(Console.ReadLine());
                IEFDbContext _db = new EFDbContext();

                switch (selectedOption)
                {
                case 1:
                    Console.WriteLine("Wybrano 1");
                    string login, password;
                    Console.WriteLine("Wprowadź login");
                    login = Console.ReadLine();
                    Console.WriteLine("Wybrano hasło");
                    password = Console.ReadLine();
                    UserOperations user = new UserOperations(_db);
                    user.Login(login, password);
                    break;

                case 2:
                    Console.WriteLine("Wybrano 2");
                    long amountIn, NRBto;
                    Console.WriteLine("Wprowadź sume do wpłacenia");
                    amountIn = Convert.ToInt64(Console.ReadLine());
                    Console.WriteLine("Wprowadź numer rachunku");
                    NRBto = Convert.ToInt64(Console.ReadLine());
                    AccountOperations accountTo = new AccountOperations(_db);
                    accountTo.AddAmountToAccount(amountIn, NRBto);
                    break;

                case 3:
                    Console.WriteLine("Wybrano 3");
                    long amountOut, NRBFrom;
                    Console.WriteLine("Wprowadź sume do wpłacenia");
                    amountOut = Convert.ToInt64(Console.ReadLine());
                    Console.WriteLine("Wprowadź numer rachunku");
                    NRBFrom = Convert.ToInt64(Console.ReadLine());
                    AccountOperations accountFrom = new AccountOperations(_db);
                    accountFrom.GetAmountFromAccount(amountOut, NRBFrom);
                    break;

                case 4:
                    Console.WriteLine("Wybrano 4");
                    long amount, fromNRB, toNRB;
                    Console.WriteLine("Wprowadź sume do przelania");
                    amount = Convert.ToInt64(Console.ReadLine());
                    Console.WriteLine("Wprowadź numer rachunku źródłowego");
                    fromNRB = Convert.ToInt64(Console.ReadLine());
                    Console.WriteLine("Wprowadź numer rachunku docelowego");
                    toNRB = Convert.ToInt64(Console.ReadLine());
                    AccountOperations account = new AccountOperations(_db);
                    account.TransferMoney(amount, fromNRB, toNRB);
                    break;

                case 5:
                    Console.WriteLine("Wybrano 5");
                    long NRB;
                    Console.WriteLine("Wprowadź numer rachunku");
                    NRB = Convert.ToInt64(Console.ReadLine());
                    AccountOperations accountNRB = new AccountOperations(_db);
                    Console.WriteLine("Saldo rachunku " + NRB + " wynosi: " + accountNRB.CheckBalance(NRB));
                    break;

                case 6:
                    Console.WriteLine("Wybrano 6");
                    string userName;
                    Console.WriteLine("Wprowadź nazwę użytkownika");
                    userName = Console.ReadLine();
                    TransactionOperation transaction = new TransactionOperation(_db);
                    var transactions = transaction.GetTransactionForUser(userName);
                    foreach (var t in transactions)
                    {
                        Console.WriteLine("Wartość transakcji: " + t.Amount + " typ: " + (t.IsIncome ? "Wpłata" : "Wypłata"));
                    }

                    break;

                case 7:
                    Console.WriteLine("Wybrano 7");

                    AccountOperations accounts = new AccountOperations(_db);
                    var accountsList           = accounts.RaportAccounts();
                    foreach (var t in accountsList)
                    {
                        Console.WriteLine("Id użytkownika: " + t.user.Login + " saldo: " + t.Ammount);
                    }

                    break;

                default:
                    Console.WriteLine("Błędny wybór");
                    break;
                }
            }



            for (;;)
            {
            }
        }