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); } }
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(); } }
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(); } }
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); } }
public BankController(BankServerContext context) { _context = context; }
public TransactionsController(BankServerContext context) { _context = context; }