public static VehicleUserViewModel ToViewModel(this VehicleUser entity) { if (entity == null) { return(null); } VehicleUserViewModel model = new VehicleUserViewModel { Id = entity.Id, VehicleId = entity.VehicleId, BulgarianCitizenPin = entity.BulgarianCitizenPin, BulgarianCitizenFirstName = entity.BulgarianCitizenFirstName, BulgarianCitizenMiddleName = entity.BulgarianCitizenMiddleName, BulgarianCitizenLastName = entity.BulgarianCitizenLastName, ForeignCitizenPin = entity.ForeignCitizenPin, ForeignCitizenPn = entity.ForeignCitizenPn, ForeignCitizenNamesCyrillic = entity.ForeignCitizenNamesCyrillic, ForeignCitizenNamesLatin = entity.ForeignCitizenNamesLatin, ForeignCitizenNationality = entity.ForeignCitizenNationality, CompanyId = entity.CompanyId, CompanyName = entity.CompanyName, CompanyNameLatin = entity.CompanyNameLatin, }; return(model); }
public static VehicleUser ToEntity(this VehicleUserViewModel model) { if (model == null) { return(null); } VehicleUser entity = new VehicleUser { Id = model.Id, VehicleId = model.VehicleId, BulgarianCitizenPin = model.BulgarianCitizenPin, BulgarianCitizenFirstName = model.BulgarianCitizenFirstName, BulgarianCitizenMiddleName = model.BulgarianCitizenMiddleName, BulgarianCitizenLastName = model.BulgarianCitizenLastName, ForeignCitizenPin = model.ForeignCitizenPin, ForeignCitizenPn = model.ForeignCitizenPn, ForeignCitizenNamesCyrillic = model.ForeignCitizenNamesCyrillic, ForeignCitizenNamesLatin = model.ForeignCitizenNamesLatin, ForeignCitizenNationality = model.ForeignCitizenNationality, CompanyId = model.CompanyId, CompanyName = model.CompanyName, CompanyNameLatin = model.CompanyNameLatin, }; return(entity); }
public UserViewModel(VehicleUser user) { Id = user.Id; Name = user.UserName; Email = user.Email; Type = user.Type; GroupId = user.GroupId; TownId = user.TownId; PhoneNumber = user.PhoneNumber; StatusCode = user.Status; switch (user.Status) { case StatusType.OK: Status = "正常"; break; case StatusType.Forbidden: Status = "停用"; break; case StatusType.Authorizing: Status = "等待审核"; break; } }
public async Task <IActionResult> OnPostAsync() { if (!ModelState.IsValid) { ViewData["Id"] = Input.Id; return(Page()); } var user = await _userManager.GetUserAsync(User); if (user == null) { throw new ApplicationException($"Unable to load user with ID '{_userManager.GetUserId(User)}'."); } if (Input.Id == null || user.Id == Input.Id) { var changePasswordResult = await _userManager.ChangePasswordAsync(user, Input.OldPassword, Input.NewPassword); if (!changePasswordResult.Succeeded) { foreach (var error in changePasswordResult.Errors) { ModelState.AddModelError(string.Empty, error.Description); } return(Page()); } await _signInManager.SignInAsync(user, isPersistent : false); _logger.LogInformation("User changed their password successfully."); StatusMessage = "密码已经成功修改"; } else { UserStore <VehicleUser> store = new UserStore <VehicleUser>(_dbContext); VehicleUser cUser = await store.FindByIdAsync(Input.Id); if (cUser != null) { if (cUser.TownId == user.TownId && User.IsInRole("TownManager") || User.IsInRole("Admins") || User.IsInRole("GlobalVisitor")) { String newPassword = Input.NewPassword; String hashedNewPassword = _userManager.PasswordHasher.HashPassword(cUser, newPassword); await store.SetPasswordHashAsync(cUser, hashedNewPassword); await store.UpdateAsync(cUser); StatusMessage = "密码已经成功修改"; } } } return(RedirectToPage()); }
private async Task LoadSharedKeyAndQrCodeUriAsync(VehicleUser user) { // Load the authenticator key & QR code URI to display on the form var unformattedKey = await _userManager.GetAuthenticatorKeyAsync(user); if (!string.IsNullOrEmpty(unformattedKey)) { SharedKey = FormatKey(unformattedKey); AuthenticatorUri = GenerateQrCodeUri(user.Email, unformattedKey); } }
public async Task <IActionResult> OnPostAsync(string returnUrl = null) { ReturnUrl = returnUrl; if (ModelState.IsValid) { var user = new VehicleUser { UserName = Input.Name, Email = Input.Email, Type = Input.RoleType, PhoneNumber = Input.PhoneNumber, Status = StatusType.OK, CreationDate = DateTime.Now, }; if (Input.RoleType == "TownManager") { user.TownId = Input.TownId; } else if (Input.RoleType == "GroupManager") { user.TownId = Input.TownId; user.GroupId = Input.GroupId; } var result = await _userManager.CreateAsync(user, Input.Password); if (result.Succeeded) { if (Input.RoleType == "TownManager") { await _userManager.AddToRoleAsync(user, "TownManager"); } else if (Input.RoleType == "GroupManager") { await _userManager.AddToRoleAsync(user, "GroupManager"); } _logger.LogInformation("User created a new account with password."); var code = await _userManager.GenerateEmailConfirmationTokenAsync(user); var callbackUrl = Url.EmailConfirmationLink(user.Id, code, Request.Scheme); await _emailSender.SendEmailConfirmationAsync(Input.Email, callbackUrl); // await _signInManager.SignInAsync(user, isPersistent: false); return(LocalRedirect(Url.GetLocalUrl(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> OnGetAsync() //{ // var user = await _userManager.GetUserAsync(User); // if (user == null) // { // throw new ApplicationException($"Unable to load user with ID '{_userManager.GetUserId(User)}'."); // } // var hasPassword = await _userManager.HasPasswordAsync(user); // if (!hasPassword) // { // return RedirectToPage("./SetPassword"); // } // ViewData["Id"] = user.Id; // return Page(); //} public async Task <IActionResult> OnGetAsync(string id) { if (id == null) { var user = await _userManager.GetUserAsync(User); if (user == null) { throw new ApplicationException($"Unable to load user with ID '{_userManager.GetUserId(User)}'."); } var hasPassword = await _userManager.HasPasswordAsync(user); if (!hasPassword) { return(RedirectToPage("./SetPassword")); } ViewData["Id"] = user.Id; return(Page()); } else { var user = await _userManager.GetUserAsync(User); if (user == null) { throw new ApplicationException($"Unable to load user with ID '{_userManager.GetUserId(User)}'."); } UserStore <VehicleUser> store = new UserStore <VehicleUser>(_dbContext); VehicleUser cUser = await store.FindByIdAsync(id); if (cUser != null) { if (cUser.TownId == user.TownId && User.IsInRole("TownManager") || User.IsInRole("Admins") || User.IsInRole("GlobalVisitor")) { ViewData["Id"] = id; return(Page()); } } } return(NotFound()); }
public async Task <IActionResult> OnPostConfirmationAsync(string returnUrl = null) { if (ModelState.IsValid) { // Get the information about the user from the external login provider var info = await _signInManager.GetExternalLoginInfoAsync(); if (info == null) { throw new ApplicationException("Error loading external login information during confirmation."); } var user = new VehicleUser { UserName = Input.Email, Email = Input.Email }; var result = await _userManager.CreateAsync(user); if (result.Succeeded) { result = await _userManager.AddLoginAsync(user, info); if (result.Succeeded) { await _signInManager.SignInAsync(user, isPersistent : false); _logger.LogInformation("User created an account using {Name} provider.", info.LoginProvider); return(LocalRedirect(Url.GetLocalUrl(returnUrl))); } } foreach (var error in result.Errors) { ModelState.AddModelError(string.Empty, error.Description); } } ReturnUrl = returnUrl; return(Page()); }