Example #1
0
        public async Task <IComandoResultado> ManipuladorAsync(DelPaginaComando comando)
        {
            //Validar se pode excluir a pagina
            if (await _repositorio.CheckPermissaoAsync(comando.PaginaId, 0))
            {
                AddNotification("Pagina", $"Pagina informada possui regras de permissao vinculada. " +
                                $" Exclua as permissoes e tente novamente");
            }


            //Validar Comando
            comando.Valido();
            AddNotifications(comando.Notifications);
            if (Invalid)
            {
                return(new ComandoResultado(false, "Por favor, corrija os campos abaixo", Notifications));
            }
            //Persistir Dados
            if (!await _repositorio.DeletarPaginaAsync(comando.PaginaId))
            {
                throw new Exception("Sistema não conseguiu processar esta solicitação");
            }
            // Retornar o resultado para tela
            return(new ComandoResultado(true, "Página excluida com sucesso.", new
            {
                Id = 0,
                Nome = "OK",
                Status = true
            }));
        }
        public async Task <IComandoResultado> ManipuladorAsync(AddPermissaoComando comando)
        {
            //Obter id pagina pela constante
            comando.PaginaId = await _repositorio.ObterIdPorConstante(comando.Constante);

            //Criar Entidade
            var permissao = new Permissao(comando.PaginaId, comando.PerfilId, comando.Criar, comando.Editar, comando.Ler, comando.Excluir);


            //Validar Turma/Aluno Unico
            if (await _repositorio.CheckPermissaoAsync(permissao.PaginaId, permissao.PerfilId))
            {
                AddNotification("Permissão", "Permissão já cadastrado no sistema");
            }

            //Validar Comando
            comando.Valido();
            if (Invalid)
            {
                return(new ComandoResultado(false, "Por favor, corrija os campos abaixo", Notifications));
            }
            //Persistir Dados
            var id = await _repositorio.SalvarPermissaoAsync(permissao);

            // Retornar o resultado para tela
            return(new ComandoResultado(true, "Perfil cadastrado com sucesso", new
            {
                Id = id,
                Nome = "OK",
                Status = true
            }));
        }