public ActionResult UpdateUser(UpdateUserVM vm) { var repo = EmployeesRepositoryFactory.GetRepository(); var employeeToUpdate = repo.GetById(vm.EmployeeId); var UserManager = HttpContext.GetOwinContext().GetUserManager <ApplicationUserManager>(); var user = UserManager.Users.Where(u => u.EmployeeId == vm.EmployeeId).FirstOrDefault(); employeeToUpdate.FirstName = vm.FirstName; employeeToUpdate.LastName = vm.LastName; employeeToUpdate.DepartmentId = vm.DepartmentId; if (ModelState.IsValid) { if (!string.IsNullOrEmpty(vm.NewPassword)) { user.PasswordHash = UserManager.PasswordHasher.HashPassword(vm.NewPassword); var result = UserManager.Update(user); } repo.Update(employeeToUpdate, vm.Email, vm.IsDisabled); return(RedirectToAction("Users")); } vm.NewPassword = ""; vm.ConfirmNewPassword = ""; vm.SetDepartmentItems(DepartmentsRepositoryFactory.GetRepository().GetAll()); return(View("UpdateUser", vm)); }
public ActionResult Register() { var viewModel = new RegisterViewModel(); viewModel.SetDepartmentItems(DepartmentsRepositoryFactory.GetRepository().GetAll()); return(View(viewModel)); }
public ActionResult UpdateUser(int id) { var viewModel = new UpdateUserVM(); var employee = EmployeesRepositoryFactory.GetRepository().GetById(id); var UserManager = HttpContext.GetOwinContext().GetUserManager <ApplicationUserManager>(); viewModel.FirstName = employee.FirstName; viewModel.LastName = employee.LastName; viewModel.DepartmentId = employee.DepartmentId; viewModel.SetDepartmentItems(DepartmentsRepositoryFactory.GetRepository().GetAll()); viewModel.Email = UserManager.Users.Where(u => u.EmployeeId == id).FirstOrDefault().Email; viewModel.IsDisabled = UserManager.Users.Where(u => u.EmployeeId == id).FirstOrDefault().IsDisabled; viewModel.EmployeeId = employee.EmployeeId; return(View(viewModel)); }
public async Task <ActionResult> Register(RegisterViewModel model) { if (ModelState.IsValid) { var repo = EmployeesRepositoryFactory.GetRepository(); var employeeId = repo.GetAll().Max(e => e.EmployeeId) + 1; var user = new ApplicationUser { UserName = model.Email, Email = model.Email, EmployeeId = employeeId }; var result = await UserManager.CreateAsync(user, model.Password); if (result.Succeeded) { repo.Insert(model.Employee); var departmentName = DepartmentsRepositoryFactory.GetRepository().GetById(model.Employee.DepartmentId).Name; var result1 = UserManager.AddToRole(user.Id, departmentName); // For more information on how to enable account confirmation and password reset please visit http://go.microsoft.com/fwlink/?LinkID=320771 // Send an email with this link // string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id); // var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme); // await UserManager.SendEmailAsync(user.Id, "Confirm your account", "Please confirm your account by clicking <a href=\"" + callbackUrl + "\">here</a>"); return(RedirectToAction("Users", "Admin")); } AddErrors(result); model.SetDepartmentItems(DepartmentsRepositoryFactory.GetRepository().GetAll()); } // If we got this far, something failed, redisplay form return(View(model)); }