//[Authorize(Policy = "CanWritePermissao")] public IActionResult UsuarioGrupoAcessoRemover(UsuarioGrupoAcessoViewModel model) { if (!ModelState.IsValid) { NotificarErroModelInvalida(); return(Response(model)); } _usuarioService.RemoverUsuarioGrupoAcesso(model.UsuarioId, model.GrupoAcessoId); //var gruposDeAcessoUsuario = _usuarioService.ObterUsuarioGrupoAcessoPorUsuarioId(model.UsuarioId); // //List<PermissaoModel> permissoesManter = new List<PermissaoModel>(); //foreach(var grupo in gruposDeAcessoUsuario.Where(g => g.GrupoAcessoId != model.GrupoAcessoId)) //{ // var lstGrupoAcessoPermissao = _grupoAcessoService.ObterGrupoAcessoPermissaoPorGrupoId(grupo.GrupoAcessoId); // // foreach(var gAPermissao in lstGrupoAcessoPermissao) // { // permissoesManter.Add(_permissaoService.ObterPorId(gAPermissao.PermissaoId)); // } //} // //var lstGrupoAcessoPermissaoRemover = _grupoAcessoService.ObterGrupoAcessoPermissaoPorGrupoId(model.GrupoAcessoId); //List<PermissaoModel> permissoesRemover = new List<PermissaoModel>(); // //foreach (var gAPermissao in lstGrupoAcessoPermissaoRemover) //{ // permissoesRemover.Add(_permissaoService.ObterPorId(gAPermissao.PermissaoId)); //} // ////Carrega Usuario App //var usuario = _usuarioService.ObterPorId(model.UsuarioId); // ////Carregar usuario do identity //var identityUser = _userManager.FindByIdAsync(Convert.ToString(usuario.AspNetUserId)).Result; ////TODO 1: Localizar todas permissoes do grupo de acesso //var permissoes = _grupoAcessoService.ObterGrupoAcessoPermissaoPorGrupoId(model.GrupoAcessoId); // ////Criar uma lista de claims ////Adicionar essas claims ao usuario //foreach (var permissao in permissoesRemover.Where(p => !permissoesManter.Select(m => m.Id).ToList().Contains(p.Id))) //{ // Claim removeClain = new Claim(permissao.Tipo.Nome, permissao.Valor); // // //Verificar se o result é sucesso // var result = _userManager.RemoveClaimAsync(identityUser, removeClain).Result; // // if (!result.Succeeded) // AdicionarErrosIdentity(result); //} return(Response()); }
//[Authorize(Policy = "CanWritePermissao")] public IActionResult UsuarioGrupoAcessoAdd(UsuarioGrupoAcessoViewModel model) { if (!ModelState.IsValid) { NotificarErroModelInvalida(); return(Response(model)); } _usuarioService.AdicionarGrupoAcesso(_mapper.Map <UsuarioGrupoAcesso>(model)); //if (!OperacaoValida()) // return Response(model); // ////Carrega Usuario App //var usuario = _usuarioService.ObterPorId(model.UsuarioId); // ////Carregar usuario do identity //var identityUser = _userManager.FindByIdAsync(Convert.ToString(usuario.AspNetUserId)).Result; ////TODO 1: Localizar todas permissoes do grupo de acesso //var permissoes = _grupoAcessoService.ObterGrupoAcessoPermissaoPorGrupoId(model.GrupoAcessoId); // ////Criar uma lista de claims ////Adicionar essas claims ao usuario //foreach (var permissao in permissoes) //{ // var permissaoModel = _permissaoService.ObterPorId(permissao.PermissaoId); // // Claim newClain = new Claim(permissaoModel.Tipo.Nome, permissaoModel.Valor); // // //Verificar se o result é sucesso // var result = _userManager.AddClaimAsync(identityUser, newClain).Result; // // if (!result.Succeeded) // AdicionarErrosIdentity(result); //} return(Response()); }