public async Task <IActionResult> EditUsers(string userId) { var user = await _userManager.FindByIdAsync(userId); var userModel = new UserWM { UserId = user.Id, FullName = user.FirstName + " " + user.LastName, Username = user.UserName, Password = user.Password, RegistrationDate = user.RegistrationDate, UserLog = _userLogRepository.GetMyLastLogins(user.Id) }; if (await _userManager.IsInRoleAsync(user, "Admin")) { userModel.Admin = true; } else { userModel.Admin = false; } if (await _userManager.IsInRoleAsync(user, "Profesor")) { userModel.Professor = true; } else { userModel.Professor = false; } if (await _userManager.IsInRoleAsync(user, "Student")) { userModel.Student = true; } else { userModel.Student = false; } return(View(userModel)); }
public async Task <IActionResult> EditUsers(UserWM model) { bool change = false; var user = await _userManager.FindByIdAsync(model.UserId.ToString()); if (user.UserName != model.Username) { user.UserName = model.Username; var result = await _userManager.UpdateAsync(user); if (result.Succeeded) { SuccessMessage = "Uspješno ste promijenili korisničko ime."; } } if (user.Password != model.Password) { user.Password = model.Password; var token = await _userManager.GeneratePasswordResetTokenAsync(user); var result = await _userManager.ResetPasswordAsync(user, token, model.Password); if (result.Succeeded) { SuccessMessage = "Uspješno ste promijenili lozinku."; } } if (model.Admin && (!await _userManager.IsInRoleAsync(user, "Admin"))) { await _userManager.AddToRoleAsync(user, "Admin"); change = true; } if ((!model.Admin) && (await _userManager.IsInRoleAsync(user, "Admin"))) { await _userManager.RemoveFromRoleAsync(user, "Admin"); change = true; } if (model.Professor && (!await _userManager.IsInRoleAsync(user, "Profesor"))) { await _userManager.AddToRoleAsync(user, "Profesor"); change = true; } if ((!model.Professor) && (await _userManager.IsInRoleAsync(user, "Profesor"))) { await _userManager.RemoveFromRoleAsync(user, "Profesor"); change = true; } if (model.Student && (!await _userManager.IsInRoleAsync(user, "Student"))) { await _userManager.AddToRoleAsync(user, "Student"); change = true; } if ((!model.Student) && (await _userManager.IsInRoleAsync(user, "Student"))) { await _userManager.RemoveFromRoleAsync(user, "Student"); change = true; } if (change) { SuccessMessage = "Uspješno ste dodali/izbrisali permisiju korisniku."; } return(RedirectToAction("Accounts", "Account")); }