Я пишу метод Edit для моего приложения C.R.U.D, но я застрял с обновлением роли пользователя. Я пытаюсь перебрать роли пользователя и назначить ему роль, которой еще не назначена роль. Я получаю сообщение об ошибке: foreach cannot operate on variables of type 'Task<IList<string>>' because 'Task<IList<string>>' does not contain a public instance definition for 'GetEnumerator'
Как я могу это исправить? ИЛИ Как лучше подойти к этому?
[HttpPost]
public async Task<IActionResult> Edit(EditUserViewModel editUserViewModel)
{
var user = _userManager.Users.Where(e => e.Id == editUserViewModel.id).SingleOrDefault();
user.FirstName = editUserViewModel.FirstName;
user.LastName = editUserViewModel.LastName;
user.MiddleName = editUserViewModel.MiddleName;
user.Dob = editUserViewModel.Dob;
var AllUserRoles = _userManager.GetRolesAsync(user);
foreach(var userRole in AllUserRoles)
{
if (userRole != editUserViewModel.RoleToBeAssigned)
{
await _userManager.AddToRoleAsync(user, editUserViewModel.RoleToBeAssigned);
}
}
await _userManager.UpdateAsync(user);
return View(user);
}