public async Task <ActionResult> AdicionarRole(int?id) { if (id == null) { MensagemParaUsuarioViewModel.MensagemErro("Escolha um usuário para adicionar perfis", TempData, ModelState); return(RedirectToAction("index")); } try { Usuario usuario = await db.Usuarios.FindAsync(id); if (usuario == null) { MensagemParaUsuarioViewModel.MensagemErro("O usuário não foi encontrado", TempData, ModelState); return(RedirectToAction("index")); } UsuarioRoleViewModel urvm = new UsuarioRoleViewModel { Usuario = usuario, IdUsuario = usuario.Id }; CarregaPerfis(usuario); return(View(urvm)); } catch (Exception err) { MensagemParaUsuarioViewModel.MensagemErro(err.Message, TempData, ModelState); return(RedirectToAction("index")); } }
public async Task <ActionResult> AdicionarUsuario(int?id) { if (id == null) { MensagemParaUsuarioViewModel.MensagemErro("Escolha um perfil para adicionar usuários", TempData, ModelState); return(RedirectToAction("index")); } try { Perfil perfil = await db.Perfis.FindAsync(id); if (perfil == null) { MensagemParaUsuarioViewModel.MensagemErro("O perfil não foi encontrado", TempData, ModelState); return(RedirectToAction("index")); } UsuarioRoleViewModel urvm = new UsuarioRoleViewModel { Perfil = perfil, IdPerfil = perfil.Id }; CarregaUsuarios(perfil); return(View(urvm)); } catch (Exception err) { MensagemParaUsuarioViewModel.MensagemErro(err.Message, TempData, ModelState); return(RedirectToAction("index")); } }
public async Task <IActionResult> AssociarPermissao(UsuarioRoleViewModel usuarioRole) { if (ModelState.IsValid) { var usuario = await _dbContext.Usuarios.FindAsync(usuarioRole.UsuarioId); await _manager.AddToRoleAsync(usuario, usuarioRole.NomeRole); return(RedirectToAction("Index", "Home")); } return(View(usuarioRole)); }
public async Task <ActionResult> AdicionarUsuario(UsuarioRoleViewModel urvm) { if (urvm == null) { MensagemParaUsuarioViewModel.MensagemErro("O usuário e o perfil não podem ser nulos", TempData, ModelState); return(RedirectToAction("index")); } if (ModelState.IsValid) { try { var usuario = db.Usuarios.Find(urvm.IdUsuario); var perfil = db.Perfis.Find(urvm.IdPerfil); if (usuario == null) { MensagemParaUsuarioViewModel.MensagemErro("Usuário não encontrado", TempData, ModelState); return(RedirectToAction("index")); } if (perfil == null) { MensagemParaUsuarioViewModel.MensagemErro("Perfil não encontrado", TempData, ModelState); return(RedirectToAction("index")); } urvm.Usuario = usuario; urvm.Perfil = perfil; urvm.IdPerfil = perfil.Id; urvm.IdUsuario = usuario.Id; bool jaPossui = perfil.Usuarios.Contains(usuario); if (!jaPossui) { perfil.Usuarios.Add(usuario); } await db.SaveChangesAsync(); if (jaPossui) { MensagemParaUsuarioViewModel.MensagemInfo("Esse perfil já tinha esse usuário", TempData); } else { MensagemParaUsuarioViewModel.MensagemSucesso("Usuário Adicionado ao perfil", TempData); } CarregaUsuarios(perfil); return(View(urvm)); } catch (DbUpdateConcurrencyException duce) { MensagemParaUsuarioViewModel.MensagemErro("Talvez esse registro tenha sido excluído por outra pessoa. " + duce.Message, TempData, ModelState); } catch (Exception err) { MensagemParaUsuarioViewModel.MensagemErro("Esse registro não pôde ser salvo. " + err.Message, TempData, ModelState); } } return(View(urvm)); }