public async Task <IHttpActionResult> PostRemoverPermissao(PermissaoModel permissao)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var result = await UserManager.RemoveFromRoleAsync(User.Identity.GetUserId(), permissao.Permissao);

            var errorResult = GetErrorResult(result);

            return(errorResult ?? Ok());
        }
        public async Task <IHttpActionResult> PostAdicionarPermissao(PermissaoModel permissao)
        {
            //Todo: Validar a permissao recebida, e aceitar somente permissão da lista de permissões usadas no atributo [Authorize]

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var result = await UserManager.AddToRoleAsync(User.Identity.GetUserId(), permissao.Permissao);

            var errorResult = GetErrorResult(result);

            return(errorResult ?? Ok());
        }
        public async Task<IHttpActionResult> PostRemoverPermissao(PermissaoModel permissao)
        {
            if (!ModelState.IsValid) return BadRequest(ModelState);

            var result = await UserManager.RemoveFromRoleAsync(User.Identity.GetUserId(), permissao.Permissao);
            var errorResult = GetErrorResult(result);

            return errorResult ?? Ok();
        }
        public async Task<IHttpActionResult> PostAdicionarPermissao(PermissaoModel permissao)
        {
            //Todo: Validar a permissao recebida, e aceitar somente permissão da lista de permissões usadas no atributo [Authorize]

            if (!ModelState.IsValid) return BadRequest(ModelState);

            var result = await UserManager.AddToRoleAsync(User.Identity.GetUserId(), permissao.Permissao);
            var errorResult = GetErrorResult(result);

            return errorResult ?? Ok();
        }