Example #1
0
        public async Task <IComandoResultado> ManipuladorAsync(DelPerfilComando comando)
        {
            //Validar se pode excluir o perfil
            if (await _repositorio.CheckPermissaoAsync(0, comando.Id))
            {
                AddNotification("Pagina", $"Perfil informada possui regras de permissao vinculada. " +
                                $" Exclua as permissoes e tente novamente");
            }
            //Validar se existe usuario vinculado ao perfil
            if (await _repositorio.CheckFuncionarioPerfilAsync(comando.Id))
            {
                AddNotification("Pagina", $"Perfil informada esta atrelado  em usuario. " +
                                $" Exclua os vinculos 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.DeletarPerfilAsync(comando.Id))
            {
                throw new Exception("Sistema não conseguiu processar esta solicitação");
            }
            // Retornar o resultado para tela
            return(new ComandoResultado(true, "Pefil excluida com sucesso.", new
            {
                Id = 0,
                Nome = "OK",
                Status = true
            }));
        }