public async Task <IActionResult> registerUser(StaffAddUserData user) { if (ModelState.IsValid) { YHVegeterianFoodOrderingSystemUser webUser = new YHVegeterianFoodOrderingSystemUser { UserName = user.FullName, Email = user.Email, DOB = user.DOB, FullName = user.FullName, PhoneNumber = user.PhoneNumber, Role = user.Role, EmailConfirmed = true }; IdentityResult result = await userManager.CreateAsync(webUser, user.Password); if (result.Succeeded) { return(RedirectToAction("Index", "UserInfo")); } else { foreach (IdentityError error in result.Errors) { ModelState.AddModelError("", error.Description); } } } return(View(user)); }
public async Task <IActionResult> Update(string id, string fullname, DateTime dob, string role, string email) { YHVegeterianFoodOrderingSystemUser user = await userManager.FindByIdAsync(id); if (user != null) { user.FullName = fullname; user.DOB = dob; user.Role = role; user.Email = email; IdentityResult result = await userManager.UpdateAsync(user); if (result.Succeeded) { return(RedirectToAction("Index")); } else { return(View(user)); } } else { ModelState.AddModelError("", "User Not Found"); } return(View(user)); }
public async Task <IActionResult> OnPostAsync(string returnUrl = null) { returnUrl = returnUrl ?? Url.Content("~/"); ExternalLogins = (await _signInManager.GetExternalAuthenticationSchemesAsync()).ToList(); if (ModelState.IsValid) { var user = new YHVegeterianFoodOrderingSystemUser { UserName = Input.Email, Email = Input.Email, FullName = Input.FullName, PhoneNumber = Input.PhoneNumber, DOB = Input.DOB, Role = Input.Role }; var result = await _userManager.CreateAsync(user, Input.Password); if (result.Succeeded) { _logger.LogInformation("User created a new account with password."); var code = await _userManager.GenerateEmailConfirmationTokenAsync(user); code = WebEncoders.Base64UrlEncode(Encoding.UTF8.GetBytes(code)); var callbackUrl = Url.Page( "/Account/ConfirmEmail", pageHandler: null, values: new { area = "Identity", userId = user.Id, code = code, returnUrl = returnUrl }, protocol: Request.Scheme); await _emailSender.SendEmailAsync(Input.Email, "Confirm your email", $"Please confirm your account by <a href='{HtmlEncoder.Default.Encode(callbackUrl)}'>clicking here</a>."); if (_userManager.Options.SignIn.RequireConfirmedAccount) { return(RedirectToPage("RegisterConfirmation", new { email = Input.Email, returnUrl = returnUrl })); } else { await _signInManager.SignInAsync(user, isPersistent : false); return(LocalRedirect(returnUrl)); } } foreach (var error in result.Errors) { ModelState.AddModelError(string.Empty, error.Description); } } // If we got this far, something failed, redisplay form return(Page()); }
public async Task <IActionResult> Delete(string id) { YHVegeterianFoodOrderingSystemUser user = await userManager.FindByIdAsync(id); if (user != null) { await userManager.DeleteAsync(user); } else { return(RedirectToAction("Index", "UserInfo", new { msg = "Unable to delete user" })); } return(RedirectToAction("Index", "UserInfo", new { msg = "User deleted!" })); }
private async Task LoadAsync(YHVegeterianFoodOrderingSystemUser user) { var userName = await _userManager.GetUserNameAsync(user); var phoneNumber = await _userManager.GetPhoneNumberAsync(user); Email = userName; Input = new InputModel { PhoneNumber = phoneNumber, FullName = user.FullName, Address = user.Address, DOB = user.DOB }; }
public async Task <ActionResult> Update(string id) { YHVegeterianFoodOrderingSystemUser user = await userManager.FindByIdAsync(id); Boolean a = false; Boolean b = false; Boolean c = false; if (user.Role == "Staff") { a = true; } else if (user.Role == "Customer") { b = true; } else { c = true; } ViewBag.users = new List <SelectListItem> { new SelectListItem { Selected = c, Text = "Select Option", Value = "" }, new SelectListItem { Selected = b, Text = "Staff", Value = "Staff" }, new SelectListItem { Selected = a, Text = "Customer", Value = "Customer" } }; if (user != null) { return(View(user)); } else { return(RedirectToAction("Index")); } }