Пример #1
0
        static void Infectado(Paciente paciente, FilaPacientes urgente, FilaPacientes poucoUrgente, FilaPacientes naoUrgente, FilaPacientes assintomaticos, ArquivoCSV arquivo)
        {
            paciente.VerificaStatus();

            if (paciente.Covid)
            {
                Console.Write("\nPaciente está com sintomas?[S/N]: ");
                string sintomas = Console.ReadLine().ToUpper();

                if (sintomas == "S")
                {
                    paciente.Importancia();
                    Console.Write("\nAnalisando Urgência do paciente e adicionando em fila para internação...\n");

                    if (paciente.Comorbidade)
                    {
                        if (paciente.Periodo > 12)
                        {
                            urgente.Push(paciente);
                        }
                        else
                        {
                            poucoUrgente.Push(paciente);
                        }
                    }
                    else if (paciente.Periodo > 12)
                    {
                        poucoUrgente.Push(paciente);
                    }
                    else
                    {
                        naoUrgente.Push(paciente);
                    }

                    int posicao = arquivo.ProcuraCPF(paciente.CPF);
                    if (posicao != -1)
                    {
                        arquivo.Salvar(paciente, posicao);
                    }
                    else
                    {
                        arquivo.Salvar(paciente);
                    }
                }
                else
                {
                    assintomaticos.Push(paciente);
                    Console.WriteLine("\nArquivando paciente...\n");
                    int posicao = arquivo.ProcuraCPF(paciente.CPF);
                    if (posicao != -1)
                    {
                        arquivo.Salvar(paciente, posicao);
                    }
                    else
                    {
                        arquivo.Salvar(paciente);
                    }
                }
            }
            else
            {
                Console.WriteLine("\nArquivando paciente...\n");
                if (arquivo.ProcuraCPF(paciente.CPF) == -1)
                {
                    arquivo.Salvar(paciente);
                }
            }
        }
Пример #2
0
        static void Main(string[] args)
        {
            //Declara Arquivo , cria diretório ou não.
            ArquivoCSV arquivo = new ArquivoCSV();

            arquivo.Path = @"C:\temp\ws-c#\5by5-ativ02\Pacientes.csv";

            if (!Directory.Exists(@"C:\temp\ws-c#\5by5-ativ02"))
            {
                Directory.CreateDirectory(@"C:\temp\ws-c#\5by5-ativ02");
            }
            if (!File.Exists(arquivo.Path))
            {
                FileStream file = File.Create(arquivo.Path);
                file.Close();
            }

            Paciente      paciente        = new Paciente();
            FilaPacientes fila            = new FilaPacientes();
            FilaPacientes filaPrioritaria = new FilaPacientes();

            FilaPacientes urgente      = new FilaPacientes();
            FilaPacientes poucoUrgente = new FilaPacientes();
            FilaPacientes naoUrgente   = new FilaPacientes();

            FilaPacientes assintomaticos = new FilaPacientes();
            int           contador       = 0;

            string op;

            do
            {
                Console.WriteLine(" >>>BEM VINDOS AO HOSPITAL DE CAMPANHA COVID 19<<<\n" +
                                  "\n1 - Cadastre um paciente\n" +
                                  "2 - Proximo da fila\n" +
                                  "3 - Chamar para internacao\n" +
                                  "4 - Encerrar programa");
                Console.Write("\n>>>");
                op = Console.ReadLine();

                switch (op)
                {
                case "1":
                    //Fluxo Triagem Inicial
                    Console.Clear();
                    Console.Write("Informe o CPF: ");
                    string cpf = Console.ReadLine();

                    if (arquivo.ProcuraCPF(cpf) != -1)
                    {
                        paciente = arquivo.Leitura(cpf);
                        Imprimir(paciente);
                    }
                    else
                    {
                        paciente = Leitura(cpf);
                    }
                    //Fluxo da separação da fila
                    if (paciente.Idade() >= 60)
                    {
                        filaPrioritaria.Push(paciente);
                    }
                    else
                    {
                        fila.Push(paciente);
                    }
                    break;

                case "2":
                    Console.Clear();

                    //Fluxo de fila
                    if (!filaPrioritaria.Vazia() && contador < 2)
                    {
                        Console.WriteLine("Chamando próximo paciente para exame...");
                        paciente = filaPrioritaria.Head;
                        filaPrioritaria.Pop();
                        contador++;

                        Imprimir(paciente);
                        Infectado(paciente, urgente, poucoUrgente, naoUrgente, assintomaticos, arquivo);
                    }
                    else if (!fila.Vazia())
                    {
                        Console.WriteLine("\nChamando próximo paciente para exame...");
                        paciente = fila.Head;
                        fila.Pop();
                        contador = 0;

                        Imprimir(paciente);
                        Infectado(paciente, urgente, poucoUrgente, naoUrgente, assintomaticos, arquivo);
                    }
                    else
                    {
                        Console.WriteLine("\n>>> Não há ninguem na fila! <<<");
                        contador = 0;
                    }

                    break;

                case "3":
                    Console.Clear();

                    if (!urgente.Vazia())
                    {
                        Console.WriteLine("Chamando próximo paciente para internação...\n");
                        Console.WriteLine($"Chamando o paciente {urgente.Head.Nome} para internação");
                        urgente.Pop();
                    }

                    else if (!poucoUrgente.Vazia())
                    {
                        Console.WriteLine("Chamando próximo paciente para internação...\n");
                        Console.WriteLine($"Chamando o paciente {poucoUrgente.Head.Nome} para internação");
                        poucoUrgente.Pop();
                    }

                    else if (!naoUrgente.Vazia())
                    {
                        Console.WriteLine("Chamando próximo paciente para internação...\n");
                        Console.WriteLine($"Chamando o paciente {naoUrgente.Head.Nome} para internação");
                        naoUrgente.Pop();
                    }

                    else
                    {
                        Console.WriteLine("\n>>> Sem ninguém na fila para internação!! <<<");
                    }

                    break;

                case "4":
                    Console.WriteLine(">>> FINALIZANDO <<<");
                    break;

                default:
                    Console.WriteLine("\nDigite uma opção contida no menu !\n");
                    break;
                }
            } while (op != "4");
        }
Пример #3
0
        static void Main(string[] args)
        {
            Paciente      paciente        = new Paciente();
            FilaPacientes fila            = new FilaPacientes();
            FilaPacientes filaPrioritaria = new FilaPacientes();
            FilaPacientes filaInternacao  = new FilaPacientes();
            int           contador        = 0;

            string op;

            do
            {
                Console.WriteLine("###### COVID 19 ######\n" +
                                  "1 - Cadastre um paciente\n" +
                                  "2 - Proximo da fila\n" +
                                  "3 - Encerrar programa"); //Imprime o proximo e retira da fila.
                Console.Write("\n>>>");
                op = Console.ReadLine();

                switch (op)
                {
                case "1":
                    Console.Clear();
                    Console.Write("\nInforme o CPF: ");
                    string cpf = Console.ReadLine();

                    if (CpfCadastrado())
                    {
                        paciente = LeituraArquivo(cpf);
                    }
                    else
                    {
                        paciente = Leitura(cpf);
                    }

                    if (paciente.Idade() >= 60)
                    {
                        filaPrioritaria.Push(paciente);
                    }
                    else
                    {
                        fila.Push(paciente);
                    }
                    break;

                case "2":
                    Console.Clear();


                    if (!filaPrioritaria.Vazia() && contador < 2)
                    {
                        Console.WriteLine("Chamando próximo paciente para exame...");
                        paciente = filaPrioritaria.Head;
                        filaPrioritaria.Pop();
                        contador++;

                        Imprimir(paciente);
                        Infectado(paciente);
                    }
                    else if (!fila.Vazia())
                    {
                        Console.WriteLine("Chamando próximo paciente para exame...");
                        paciente = fila.Head;
                        fila.Pop();
                        contador = 0;

                        Imprimir(paciente);
                        Infectado(paciente);
                    }
                    else
                    {
                        Console.WriteLine("Não há ninguem na fila!");
                        contador = 0;
                    }

                    break;

                case "3":
                    Console.WriteLine(">>> FINALIZANDO <<<");
                    break;

                default:
                    break;
                }
            } while (op != "3");
        }