Exemplo n.º 1
0
        private static void EscolherAcao(Opcao opcaoEscolhida, User usuario, ClientService clienteService, FluxoDeAprovacaoService fluxoService)
        {
            Client cliente;

            do
            {
                Console.WriteLine("\nDigite o Id do cliente:");
                var idDigitado = Convert.ToInt32(Console.ReadLine());

                cliente = clienteService.Get(idDigitado);
                if (cliente == null)
                {
                    throw new ArgumentException("Id inválido!");
                }
            } while (cliente == null);


            switch (opcaoEscolhida.Acao)
            {
            case Acoes.ATUALIZAR_CLIENTE:
                AtualizarCliente(cliente, clienteService);
                break;

            case Acoes.MANDAR_PARA_GERENCIA:
            case Acoes.APROVAR_CLIENTE_NACIONAL_E_INTERNACIONAL:
            case Acoes.APROVAR_OU_ENVIAR_PARA_RISCO:
            case Acoes.APROVAR_CLIENTE_INTERNACIONAL:
                fluxoService.AprovarCliente(cliente, usuario);
                break;

            case Acoes.REPROVAR_CLIENTE:
                fluxoService.ReprovarCliente(cliente, usuario);
                break;

            case Acoes.MANDAR_PARA_CORRECAO_DE_PERFIL:
                fluxoService.EnviarParaCorrecao(cliente, usuario);
                break;

            case Acoes.CONSULTAR_CLIENTE:
                ListarCliente(cliente);
                break;

            default:
                throw new ArgumentException("Opção inválida!");
            }
            Console.Clear();
        }
Exemplo n.º 2
0
        private static void Rotinas(User usuario, List <Opcao> opcoes, ClientService clienteService, FluxoDeAprovacaoService fluxoService)
        {
            Console.ForegroundColor = ConsoleColor.Yellow;
            Console.WriteLine($"--- Seja bem vindo(a) {usuario.Name}! ---");
            Console.ResetColor();

            Console.Write("Perfils do usuário: ");
            var perfils = usuario
                          .Roles
                          .Select(p => p.ToString());

            Console.WriteLine(String.Join(", ", perfils));
            Console.WriteLine("\n");



            if (usuario.Roles.Contains(ERoles.GERENCIA) || usuario.Roles.Contains(ERoles.CONTROLE_DE_RISCO) || usuario.Roles.Contains(ERoles.ADMINISTRACAO))
            {
                IList <Client> clientesParaAprovar = clienteService.GetAllToApproveClients(usuario);

                Console.ForegroundColor = ConsoleColor.Yellow;
                Console.WriteLine("-- Clientes para Aprovar --");
                Console.ResetColor();

                foreach (var cliente in clientesParaAprovar)
                {
                    Console.WriteLine($"Id: {cliente.Id,5}\t\tNome: {cliente.Name,20}\t\tStatus: {cliente.CurrentStatus,10}\t\tInternacional: {cliente.IsInternacional,5}");
                }
            }


            if (usuario.Roles.Contains(ERoles.OPERACAO) || usuario.Roles.Contains(ERoles.ADMINISTRACAO))
            {
                IList <Client> clientesParaOperacao = clienteService.GetAllOperationClients(usuario);

                Console.ForegroundColor = ConsoleColor.Yellow;
                Console.WriteLine("-- Clientes para Operação --");
                Console.ResetColor();

                foreach (var cliente in clientesParaOperacao)
                {
                    Console.WriteLine($"Id: {cliente.Id,5}\t\tNome: {cliente.Name,20}\t\tStatus: {cliente.CurrentStatus,10}\t\tInternacional: {cliente.IsInternacional,5}");
                }
            }

            Console.ForegroundColor = ConsoleColor.Yellow;
            Console.WriteLine("-- Clientes Finalizados --");
            Console.ResetColor();

            IList <Client> clientesFinalizados = clienteService.GetAllFinalizedClients();

            foreach (var cliente in clientesFinalizados)
            {
                Console.WriteLine($"Id: {cliente.Id,5}\t\tNome: {cliente.Name,20}\t\tStatus: {cliente.CurrentStatus,10}\t\tInternacional: {cliente.IsInternacional,5}");
            }


            Console.ForegroundColor = ConsoleColor.Yellow;
            Console.WriteLine("\n-- Opções disponiveis --");

            Console.ForegroundColor = ConsoleColor.Cyan;
            for (int i = 0; i < opcoes.Count; i++)
            {
                Opcao opcao = opcoes[i];

                Console.WriteLine($"{i + 1} - {opcao.Descricao}");
            }
            Console.ResetColor();

            Console.WriteLine("\nEscolha uma opção:");
            int.TryParse(Console.ReadLine(), out int indexEscolhido);
            if (indexEscolhido <= 0 || indexEscolhido - 1 > opcoes.Count - 1)
            {
                throw new ArgumentException("Opção inválida!");
            }

            Opcao opcaoEscolhida = opcoes[indexEscolhido - 1];



            if (opcaoEscolhida.Acao == Acoes.SAIR)
            {
                Environment.Exit(0);
            }
            else if (opcaoEscolhida.Acao == Acoes.CADASTRAR_NOVO_CLIENTE)
            {
                CadastrarCliente(usuario, clienteService);
            }
            else
            {
                EscolherAcao(opcaoEscolhida, usuario, clienteService, fluxoService);
            }
        }