Example #1
0
        public async Task <IActionResult> AtribuirDireito(AtribuirDireitoViewModel modelo)
        {
            if (ModelState.IsValid & modelo != null)
            {
                var usuario = await _userManager.FindByEmailAsync(modelo.Email).ConfigureAwait(false);

                var remover = modelo.RolesDeAcesso.Where(ro => ro.Ativa == false).Select(ro => ro.NomeRoles);
                var add     = modelo.RolesDeAcesso.Where(ro => ro.Ativa == true).Select(ro => ro.NomeRoles);

                if (remover.Count() > 0)
                {
                    foreach (var item in remover)
                    {
                        await _userManager.RemoveFromRoleAsync(usuario, item).ConfigureAwait(false);
                    }
                }

                if (add.Count() > 0)
                {
                    foreach (var item in add)
                    {
                        await _userManager.AddToRoleAsync(usuario, item).ConfigureAwait(false);
                    }
                }


                ViewData["MsgReposta"] = 1;
                return(View());
            }
            ModelState.AddModelError("", _localizador["Ocorreu um erro, tente novamente ou acesso mais tarde"]);
            return(View(modelo));
        }
Example #2
0
        public AtribuirDireitoViewModel BuscarDadosUsuario(string email, IList <RolesUsarioViewModel> listaPermissoes)
        {
            AtribuirDireitoViewModel modelo = new AtribuirDireitoViewModel();

            var userSimples = contexto.Users.Where(usu => usu.Email == email).FirstOrDefault();

            modelo.UserId         = userSimples.Id;
            modelo.Nome           = userSimples.Nome;
            modelo.Email          = userSimples.Email;
            modelo.DataDeCadastro = userSimples.DataCadastro;

            var rolesUsuario = from role in contexto.Roles
                               join roleUse in contexto.UserRoles on role.Id equals roleUse.RoleId
                               where roleUse.UserId == userSimples.Id & role.NormalizedName != PerfisPadroes.USUARIO
                               select role.NormalizedName;


            modelo.RolesDeAcesso = listaPermissoes;



            foreach (var item in modelo.RolesDeAcesso)
            {
                if (rolesUsuario.Contains(item.NomeRoles))
                {
                    item.Ativa = true;
                }
            }



            return(modelo);
        }
Example #3
0
 public IActionResult AtribuirDireito(UsuarioEmailViewModel modelo)
 {
     if (ModelState.IsValid & modelo != null)
     {
         IList <RolesUsarioViewModel> listaPermissoes = new List <RolesUsarioViewModel>
         {
             new RolesUsarioViewModel()
             {
                 NomeRoles = PerfisPadroes.ADMINISTRADOR, Ativa = false, Descricao = _localizador["Acesso Administrativo"].ToString()
             },
             new RolesUsarioViewModel()
             {
                 NomeRoles = PerfisPadroes.CRIARCATEGORIA, Ativa = false, Descricao = _localizador["Manutenção de Caracteríticas"].ToString()
             },
             new RolesUsarioViewModel()
             {
                 NomeRoles = PerfisPadroes.CRIARTEMPLETE, Ativa = false, Descricao = _localizador["Manutençao de modelo de Experimento"].ToString()
             }
         };
         AtribuirDireitoViewModel modeloRetorno = _repoAdmin.BuscarDadosUsuario(modelo.Email, listaPermissoes);
         return(View(modeloRetorno));
     }
     return(RedirectToAction(nameof(Direitos)));
 }