public override string Execute() { // withdraw <Account number> <money> if (this.CommandArgs.Length != 2) { throw new ArgumentException(OutputMessages.InvalidInput); } if (!this.AuthenticationManager.IsAuthenticated()) { throw new InvalidOperationException(OutputMessages.UserShouldLogIn); } var accountNumber = this.CommandArgs[0]; var amount = decimal.Parse(this.CommandArgs[1]); if (amount <= 0) { throw new ArgumentException(OutputMessages.AmountShouldBePositive); } decimal currentBalance; using (var context = new BankSystemDbContext()) { var user = this.AuthenticationManager.GetCurrentUser(); context.Users.Attach(user); var savingsAccount = user .SavingsAccounts .FirstOrDefault(a => a.AccountNumber == accountNumber); var checkingAccount = user .CheckingAccounts .FirstOrDefault(a => a.AccountNumber == accountNumber); if (savingsAccount == null && checkingAccount == null) { throw new ArgumentException(OutputMessages.InvalidAccount); } if (savingsAccount != null) { savingsAccount.WithdrawMoney(amount); context.SaveChanges(); currentBalance = savingsAccount.Balance; } else { checkingAccount.WithdrawMoney(amount); context.SaveChanges(); currentBalance = checkingAccount.Balance; } } return(string.Format(OutputMessages.AccountHasBalance, accountNumber, currentBalance)); }
public ActionResult MySettings(UserSettingsView view) { var user = context.Users.Find(view.Id); user.Address = view.Address; user.FirstName = view.FirstName; user.MiddleName = view.MiddleName; user.LastName = view.LastName; context.Entry(user).State = EntityState.Modified; context.SaveChanges(); return(RedirectToAction("Index", "Home")); }
private static void RegisterUser(BankSystemDbContext db, string[] parts) { var username = parts[1]; var password = parts[2]; var email = parts[3]; try { var user = new User { Username = username, Password = password, Email = email }; db .Users .Add(user); db.SaveChanges(); } catch (Exception e) { Console.WriteLine(e.Message); } }
public async Task <ActionResult> Register(RegisterUserView userView) { if (ModelState.IsValid) { //Upload Image: string path = string.Empty; string picture = string.Empty; if (userView.Photo != null) { picture = Path.GetFileName(userView.Photo.FileName); path = Path.Combine(Server.MapPath("~/Content/Photos"), picture); userView.Photo.SaveAs(path); using (MemoryStream ms = new MemoryStream()) { userView.Photo.InputStream.CopyTo(ms); byte[] array = ms.GetBuffer(); } } var userASP = createASPUser(userView); //Save record: var user = new User { Id = userASP.Id, Address = userView.Address, FirstName = userView.FirstName, MiddleName = userView.MiddleName, LastName = userView.LastName, Username = userView.userName }; var context = new BankSystemDbContext(); context.Users.Add(user); context.SaveChanges(); await SignInManager.SignInAsync(userASP, isPersistent : false, rememberBrowser : false); return(RedirectToAction("Index", "Home")); } // If we got this far, something failed, redisplay form return(View(userView)); }
public override string Execute() { // Register <username> <password> <email> if (this.CommandArgs.Length != 3) { throw new ArgumentException(OutputMessages.InvalidInput); } if (this.AuthenticationManager.IsAuthenticated()) { throw new InvalidOperationException(OutputMessages.UserShouldLogOut); } var username = this.CommandArgs[0]; var password = this.CommandArgs[1]; var email = this.CommandArgs[2]; var user = new User() { Username = username, Password = password, Email = email }; this.ValidateUser(user); using (var context = new BankSystemDbContext()) { if (context.Users.Any(u => u.Username == username)) { throw new ArgumentException(OutputMessages.UsernameTaken); } if (context.Users.Any(u => u.Email == email)) { throw new ArgumentException(OutputMessages.EmailTaken); } context.Users.Add(user); context.SaveChanges(); } return(string.Format(OutputMessages.UserRegistered, username)); }
private void RegisterUser(BankSystemDbContext db, List <string> inputArgs) { var username = inputArgs[0]; var password = inputArgs[1]; var email = inputArgs[2]; var user = new User { Username = username, Password = password, Email = email }; db.Users.Add(user); db.SaveChanges(); Console.WriteLine($"User {username} is registered in the database."); }
private void AddSavingsAccount(string accountNumber, decimal balance, decimal rateOrFee) { var savingsAccount = new SavingsAccount() { AccountNumber = accountNumber, Balance = balance, InterestRate = rateOrFee }; this.ValidateSavingsAccount(savingsAccount); using (var context = new BankSystemDbContext()) { var user = this.AuthenticationManager.GetCurrentUser(); context.Users.Attach(user); savingsAccount.User = user; context.SavingsAccounts.Add(savingsAccount); context.SaveChanges(); } }
public override string Execute() { // DeductFee <Account number> if (this.CommandArgs.Length != 1) { throw new ArgumentException(OutputMessages.InvalidInput); } if (!this.AuthenticationManager.IsAuthenticated()) { throw new InvalidOperationException(OutputMessages.UserShouldLogIn); } var accountNumber = this.CommandArgs[0]; decimal currentBalance; using (var context = new BankSystemDbContext()) { var user = this.AuthenticationManager.GetCurrentUser(); context.Users.Attach(user); var checkingAccount = user .CheckingAccounts .FirstOrDefault(a => a.AccountNumber == accountNumber); if (checkingAccount == null) { throw new ArgumentException(OutputMessages.InvalidAccount); } checkingAccount.DeductFee(); currentBalance = checkingAccount.Balance; context.SaveChanges(); } return(string.Format(OutputMessages.DeductedFee, accountNumber, currentBalance)); }