public async Task <IActionResult> Confirm(RegisterViewModel viewModel) { Wallet w = new Wallet() { Balance = 100 }; WalletTransactions t = new WalletTransactions() { Name = "Initial", Amount = 100 }; w.Transactions = new List <WalletTransactions>(); w.Transactions.Add(t); MoneroUser user = new MoneroUser() { Email = viewModel.Email, UserName = viewModel.Username, Wallet = w }; IdentityResult result = await _userManager.CreateAsync(user, viewModel.Password); if (result.Succeeded) { return(RedirectToAction("Index", "Home")); } return(View(viewModel)); }
public async Task <IActionResult> AddAdminToFirstUser() { //DO NOT USE THIS CODE, DEMONSTRATION ONLY MoneroUser user = await _userManager.FindByNameAsync("ncoblentz"); var result = await _userManager.AddToRoleAsync(user, Constants.AdminRole); return(RedirectToAction("Index", "Home")); }
public async Task <IActionResult> Register(RegisterViewModel viewModel) { Wallet w = new Wallet() { Balance = 100 }; _dbContext.Add(w); await _dbContext.SaveChangesAsync(); WalletTransactions t = new WalletTransactions() { Name = "Initial", Amount = 100 }; t.WalletId = w.Id; _dbContext.Add(t); await _dbContext.SaveChangesAsync(); //w.Transactions = new List<WalletTransactions>(); //w.Transactions.Add(t); w.Balance = 150; _dbContext.Update(w); WalletTransactions transaction2 = new WalletTransactions() { Name = "Add Fifty", Amount = 50, WalletId = w.Id }; _dbContext.Add(transaction2); await _dbContext.SaveChangesAsync(); MoneroUser user = new MoneroUser() { Email = viewModel.Email, UserName = viewModel.Username, WalletId = w.Id }; IdentityResult result = await _userManager.CreateAsync(user, viewModel.Password); if (result.Succeeded) { return(RedirectToAction("Index", "Home")); } return(View(viewModel)); }
public async Task <IActionResult> ConfirmCode(ConfirmCode viewModel) { string UserName = HttpContext.Session.GetString("UserName"); MoneroUser user = await _userManager.FindByNameAsync(UserName); if (user.Code == viewModel.Confirm) { await _loginManager.SignInAsync(user, false); return(RedirectToAction("Index", "Home")); } else { return(RedirectToAction("Login", "Account")); } }
public async Task <IActionResult> Login(LoginViewModel viewModel) { MoneroUser user = await _userManager.FindByNameAsync(viewModel.Username); var result = await _loginManager.CheckPasswordSignInAsync(user, viewModel.Password, false); if (result.Succeeded) { string code = new Random().Next(0, 999999).ToString("000000"); _emailService.SendLoginCode(user.Email, code); user.Code = code; await _userManager.UpdateAsync(user); HttpContext.Session.SetString("UserId", user.Id); return(RedirectToAction("ConfirmCode", "Account")); } return(View(viewModel)); }