Ejemplo n.º 1
0
 private static User GetUser(BankServerContext context)
 {
     Console.Write("UserID: ");
     try
     {
         int  userId = Int32.Parse(Console.ReadLine());
         User user   = context.User.FirstOrDefault(user => user.UserId == userId);
         Console.WriteLine(user.FirstName + " " + user.LastName + " " + user.DateBirth);
         return(user);
     }
     catch (Exception e)
     {
         Console.WriteLine("User not found.");
         return(null);
     }
 }
Ejemplo n.º 2
0
        static void Main(string[] args)
        {
            _optionsBuilder = new DbContextOptionsBuilder <BankServerContext>();
            _optionsBuilder.UseSqlServer("Server=MICHAEL-PC\\SQLEXPRESS;Database=bankDB_6;Trusted_Connection=True;MultipleActiveResultSets=true");

            using (var context = new BankServerContext(_optionsBuilder.Options))
            {
                User user = GetUser(context);
                if (user == null)
                {
                    return;
                }

                Card card = GetCard(user, context);

                context.Card.Add(card);
                context.SaveChanges();
            }
        }
Ejemplo n.º 3
0
        static void Main(string[] args)
        {
            _optionsBuilder = new DbContextOptionsBuilder <BankServerContext>();
            _optionsBuilder.UseSqlServer("Data Source=(localdb)\\MSSQLLocalDB;Initial Catalog=BankServer;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False;MultipleActiveResultSets=true");
            //_optionsBuilder.UseSqlServer("Server=MICHAEL-PC\\SQLEXPRESS;Database=bankDB_6;Trusted_Connection=True;MultipleActiveResultSets=true");
            using (_context = new BankServerContext(_optionsBuilder.Options))
            {
                var creditCards  = _context.CreditCard;
                var depositCards = _context.DepositCard;
                var transactions = _context.Transaction;
                HandleTimer(depositCards, creditCards, transactions);
                var timer = new Timer(1000 * 5);
                //var timer = new Timer(1000 * 86400);
                timer.Elapsed += async(sender, e) => await HandleTimer(depositCards, creditCards, transactions);

                timer.Start();
                Console.ReadKey();
            }
        }
Ejemplo n.º 4
0
        private static Card GetCard(User user, BankServerContext context)
        {
            try
            {
                Console.Write("New card number: ");
                string cardNum = Console.ReadLine();
                if (!cardNum.All(char.IsDigit) || cardNum.Length < 4)
                {
                    Console.WriteLine("Invalid card number. Must be only numbers and no less than 4 digits.");
                    return(null);
                }
                if (context.Card.FirstOrDefault(card => card.CardNum == cardNum) != null)
                {
                    Console.WriteLine("Card already exists.");
                    return(null);
                }
                Console.Write("Enter balance: ");
                int balance = Int32.Parse(Console.ReadLine());

                Console.Write("Enter pin: ");
                string pin = Console.ReadLine();
                if (!pin.All(char.IsDigit) || pin.Length != 4)
                {
                    Console.WriteLine("Invalid pin. Must be only numbers and 4 digits.");
                    return(null);
                }

                Console.Write("Enter card type (checking, credit, deposit): ");
                string type = Console.ReadLine();
                switch (type)
                {
                case "checking":
                    CheckingCard card = new CheckingCard();
                    card.CardNum     = cardNum;
                    card.CardUser    = user;
                    card.UserId      = user.UserId;
                    card.DateCreated = DateTime.Now;
                    card.Balance     = balance;
                    card.Pin         = ComputeSha256Hash(pin);
                    return(card);

                case "credit":
                    CreditCard crCard = new CreditCard();
                    crCard.CardNum     = cardNum;
                    crCard.CardUser    = user;
                    crCard.UserId      = user.UserId;
                    crCard.DateCreated = DateTime.Now;
                    crCard.OwnMoney    = balance;
                    Console.Write("Enter credit limit: ");
                    int limit = Int32.Parse(Console.ReadLine());
                    crCard.Limit = limit;
                    crCard.Pin   = ComputeSha256Hash(pin);
                    return(crCard);

                case "deposit":
                    DepositCard dpCard = new DepositCard();
                    dpCard.CardNum     = cardNum;
                    dpCard.CardUser    = user;
                    dpCard.UserId      = user.UserId;
                    dpCard.DateCreated = DateTime.Now;
                    dpCard.Balance     = balance;
                    dpCard.Pin         = ComputeSha256Hash(pin);
                    return(dpCard);

                default:
                    Console.Write("Not found");
                    return(null);
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("Error.");
                return(null);
            }
        }
Ejemplo n.º 5
0
 public BankController(BankServerContext context)
 {
     _context = context;
 }
Ejemplo n.º 6
0
 public TransactionsController(BankServerContext context)
 {
     _context = context;
 }