public async Task <IActionResult> EditarFuncoes(UsuarioEditarFuncoesViewModel modelo) { if (ModelState.IsValid) { var usuario = await _userManager.FindByIdAsync(modelo.Id); var rolesUsuario = await _userManager.GetRolesAsync(usuario); var resultadoRemocao = await _userManager.RemoveFromRolesAsync( usuario, rolesUsuario.ToArray() ); if (resultadoRemocao.Succeeded) { var funcoesSelecionadas = modelo .Funcoes .Where(funcao => funcao.Selecionado) .Select(funcao => funcao.Nome) .ToArray(); foreach (var funcao in funcoesSelecionadas) { var resultadoAdicao = await _userManager.AddToRoleAsync( usuario, funcao ); } return(RedirectToAction("Index")); } } return(View()); }
public async Task <IActionResult> Registrar(RegistroContaViewModel registro) { if (ModelState.IsValid) { var novoUsuario = new Usuario(registro); var result = await _userManager.CreateAsync(novoUsuario, registro.Senha); if (result.Succeeded) { await EnviaEmailConfirmacaoAsync(novoUsuario); UsuarioEditarFuncoesViewModel EditFuncoes = new UsuarioEditarFuncoesViewModel() { Id = novoUsuario.Id, Email = novoUsuario.Email, NomeCompleto = novoUsuario.NomeCompleto, UserName = novoUsuario.Email }; return(RedirectToAction("EditarFuncoes", "Usuario", EditFuncoes)); } else { AdicionaErros(result); } } return(View(registro)); }
public async Task <ActionResult> EditarFuncoes(UsuarioEditarFuncoesViewModel modelo) { if (ModelState.IsValid) { var usuario = await UserManager.FindByIdAsync(modelo.Id); var rolesUsuario = UserManager.GetRoles(usuario.Id); var resultadoRemocao = await UserManager.RemoveFromRolesAsync( usuario.Id, rolesUsuario.ToArray() ); if (resultadoRemocao.Succeeded) { var funcoesSelecionadasPeloAdmin = modelo .Funcoes .Where(funcao => funcao.Selecionado) .Select(UsuarioFuncaoViewModel => UsuarioFuncaoViewModel.Nome) .ToArray(); var resultadoAdicao = await UserManager.AddToRolesAsync( usuario.Id, funcoesSelecionadasPeloAdmin ); if (resultadoAdicao.Succeeded) { return(RedirectToAction("Index")); } } } return(View()); }
public async Task <IActionResult> EditarFuncoes(string id) { var usuario = await _userManager.FindByIdAsync(id); var modelo = new UsuarioEditarFuncoesViewModel(usuario, _roleManager, _userManager); return(View(modelo)); }