public async Task<IActionResult> Register(MemberViewModel vm) { if (vm.Password != vm.PasswordConfirm) { ModelState.AddModelError("PasswordConfirm", "Passwords must match."); } if (ModelState.IsValid) { var newMember = Mapper.Map<Member>(vm); newMember.GolfCourse = _gcmRepo.GetGolfCourse(); var result = await _userManager.CreateAsync(newMember, vm.Password); if (result.Succeeded) { //don't try to sign in when an admin is registering a new user if (User.Identity.IsAuthenticated && User.IsInRole("admin")) { return RedirectToAction("Index", "Home"); } var signInResult = await _signInManager.PasswordSignInAsync(newMember.UserName, vm.Password, true, false); if (signInResult.Succeeded) { return RedirectToAction("Index", "Home"); } else { return RedirectToAction("Login", "UserManagement"); } } else { ModelState.AddModelError("", result.Errors.FirstOrDefault().Description); } } return View(); }
public async Task<IActionResult> UpdateMember(MemberViewModel vm) { var dbMember = await _userManager.FindByEmailAsync(vm.Email); dbMember.Address1 = vm.Address1; dbMember.Address2 = vm.Address2; dbMember.Address3 = vm.Address3; dbMember.City = vm.City; dbMember.FirstName = vm.FirstName; dbMember.LastName = vm.LastName; dbMember.PostalCode = vm.PostalCode; dbMember.Province = vm.Province; var result = await _userManager.UpdateAsync(dbMember); var resultsVM = new MemberUpdateResultsViewModel() { Success = result.Succeeded, Name = dbMember.NormalizedUserName }; return View(resultsVM); }