Exemple #1
0
    public static void AgregarVisita(
        Paciente[] pacientes, Medico[] medicos, Visita[] visitas,
        ref int contadorVisitas, int codigoMax)
    {
        Console.Write("¿Urgencia o planificada?");
        string tipo = Console.ReadLine().ToLower();
        int    codPaciente;

        do
        {
            Console.Write("Código del paciente: ");
            codPaciente = Convert.ToInt32(Console.ReadLine());

            if (codPaciente >= codigoMax)
            {
                Console.WriteLine("Código de paciente incorrecto");
            }
        } while(codPaciente >= codigoMax);

        Paciente pacienteActual = pacientes[0];

        foreach (Paciente p in pacientes)
        {
            if (p.Codigo == codPaciente)
            {
                pacienteActual = p;
            }
        }

        int codMedico;

        do
        {
            Console.Write("Código del médico: ");
            codMedico = Convert.ToInt32(Console.ReadLine());

            if (codMedico != 1 || codMedico != 2)
            {
                Console.WriteLine("Código de médico incorrecto");
            }
        } while(codMedico != 1 || codMedico != 2);

        Medico medicoActual;

        if (codMedico == 1)
        {
            medicoActual = medicos[0];
        }
        else
        {
            medicoActual = medicos[1];
        }

        Console.Write("Motivo de la visita: ");
        string motivo = Console.ReadLine();

        Console.Write("Diagnóstico: ");
        string diagnostico = Console.ReadLine();

        Visita visita;

        if (tipo.Contains("urgencia"))
        {
            Console.Write("¿Ha planificado una visita posterior? ");
            string respuesta = Console.ReadLine().ToLower();

            bool visitaPost = respuesta.Contains("s");

            visita = new Urgencia(pacienteActual, medicoActual,
                                  motivo, diagnostico, visitaPost);
        }
        else
        {
            visita = new Planificada(pacienteActual,
                                     medicoActual, motivo, diagnostico);
        }

        visitas[contadorVisitas] = visita;
        contadorVisitas++;
    }
Exemple #2
0
    public void Ejecutar()
    {
        Persona[] medicos = new Medico[2];
        medicos[0] = new Medico("Wazowski, Mike", 0001, "Oftalmólog");
        medicos[1] = new Medico("Sullivan, James P.", 0002);

        Persona enfer = new Enfermero("Boggs, Randall", 0003);

        const int SIZE = 10000;

        Persona[] pacientes = new Paciente[SIZE];
        Visita[]  visitas   = new Visita[SIZE];

        int pacienteAcutal = 0;
        int visitaAcutal   = 0;

        char opcion;

        do
        {
            Console.WriteLine("MENU");
            Console.WriteLine("1. Añadir Paciente");
            Console.WriteLine("2. Buscar Paciente");
            Console.WriteLine("3. Añadir Visita");
            Console.WriteLine("4. Ver todas las visitas");
            Console.WriteLine("Q. Salir");
            Console.Write("Opción: ");
            opcion = Convert.ToChar(Console.ReadLine().ToUpper());

            switch (opcion)
            {
            case '1':
                if (pacienteAcutal > SIZE)
                {
                    Console.WriteLine("Base de datos llena");
                }
                else
                {
                    Console.Write("Introduce Apellidos y Nombre ({0}): ",
                                  pacienteAcutal + 1);
                    string nombre = Console.ReadLine();
                    Console.Write("Introduce el Código ({0}): ",
                                  pacienteAcutal + 1);
                    int codigo = Convert.ToInt32(Console.ReadLine());

                    pacientes[pacienteAcutal] = new Paciente(
                        nombre, codigo);

                    pacienteAcutal++;

                    Console.WriteLine("Usuario añadido correctamente!!!");
                }
                break;

            case '2':
                if (pacienteAcutal == 0)
                {
                    Console.WriteLine("No hay pacientes");
                }
                else
                {
                    Console.Write("Introduce que buscar: ");
                    string texto      = Console.ReadLine().ToUpper();
                    bool   encontrado = false;

                    for (int i = 0; i < pacienteAcutal; i++)
                    {
                        if (pacientes[i].NombreApellidos.ToUpper().
                            Contains(texto))
                        {
                            encontrado = true;

                            Console.WriteLine(pacientes[i]);
                        }
                    }

                    if (!encontrado)
                    {
                        Console.WriteLine("No hay resultados");
                    }
                }
                break;

            case '3':
                char tipo;
                do
                {
                    Console.WriteLine("Tipo de visita: ");
                    Console.WriteLine("1. Planificada");
                    Console.WriteLine("2. Urgencia");
                    Console.Write("Opción: ");
                    tipo = Convert.ToChar(Console.ReadLine());
                } while (tipo != '1' && tipo != '2');

                Console.Write("Introduce el código del paciente: ");
                int codigoPac = Convert.ToInt32(Console.ReadLine());

                Console.Write("Introduce el código del médico: ");
                int codigoMed = Convert.ToInt32(Console.ReadLine());

                Console.Write("Introduce el motivo de la visita: ");
                string visita = Console.ReadLine();

                Console.Write("Introduce el diagnostivo: ");
                string diagnostico = Console.ReadLine();

                bool posterior = false;

                if (tipo == '2')
                {
                    Console.Write("¿Se ha planificado una visita" +
                                  " posterior? (S/N): ");
                    posterior = Convert.ToChar(
                        Console.ReadLine().ToUpper()) == 'S' ?
                                true : false;
                }

                bool listo = false, pacienteOk = false, medicoOk = false;
                int  j = 0;

                while (!listo && j < pacienteAcutal)
                {
                    if (pacientes[j].Codigo.CompareTo(codigoPac) == 0)
                    {
                        pacienteOk = true;
                        int k = 0;
                        while (!listo && k < medicos.Length)
                        {
                            if (medicos[k].Codigo.CompareTo(codigoMed)
                                == 0)
                            {
                                medicoOk = true;

                                if (tipo == '1')
                                {
                                    visitas[visitaAcutal] =
                                        new Planificada(
                                            (Paciente)pacientes[j],
                                            (Medico)medicos[k],
                                            visita, diagnostico);
                                }
                                else
                                {
                                    visitas[visitaAcutal] =
                                        new Urgencias(
                                            (Paciente)pacientes[j],
                                            (Medico)medicos[k],
                                            visita, diagnostico, posterior);
                                }
                            }
                            k++;
                        }
                    }
                    j++;
                }

                if (pacienteOk && medicoOk)
                {
                    visitaAcutal++;
                    Console.WriteLine("Visita añadida correctamente!!!");
                }
                else
                {
                    Console.WriteLine("Código Erroneo");
                }
                break;

            case '4':
                if (visitaAcutal == 0)
                {
                    Console.WriteLine("No hay visitas");
                }
                else
                {
                    Console.WriteLine("---------VISITAS---------");

                    for (int i = 0; i < visitaAcutal; i++)
                    {
                        Console.WriteLine(visitas[i]);
                    }
                }
                break;

            case 'Q':
                Console.WriteLine("Hasta luego!!!");
                break;

            default:
                Console.WriteLine("Opción desconocida");
                break;
            }
            Console.WriteLine();
        } while (opcion != 'Q');
    }
Exemple #3
0
    private void AnyadirVisita()
    {
        Paciente paciente;
        Medico   medico;
        string   motivoVisita, diagnostico;
        byte     numPaciente, numMedico;

        if (cantidadVisitas < CAPACIDAD_VISITAS)
        {
            Console.WriteLine();

            Console.Write("> Marque U si es un episodio de Urgencias " +
                          "en otro caso se consignará como Consulta Planificada: ");
            ConsoleKeyInfo indicaUrgencias = Console.ReadKey();

            Console.WriteLine();
            Console.Write("Elija el código del paciente, tomando como" +
                          " referencia el listado mostrado a continuación:\n");
            MostrarPacientes();
            do
            {
                Console.Write("\n> Indique el ID del paciente del listado" +
                              " superior: ");
                numPaciente = Convert.ToByte(Console.ReadLine());
            }while (numPaciente > cantidadPacientes);
            paciente = DevolverPaciente(numPaciente);

            if (paciente == null)
            {
                Console.WriteLine("Paciente no indicado.");
                return;
            }

            Console.WriteLine();
            Console.WriteLine("Elija el código del especialista, " +
                              "tomando como referencia el siguiente listado de médicos " +
                              "disponibles.");
            MostrarMedicos();
            Console.Write("> Indique el ID del médico del listado superior: ");
            numMedico = Convert.ToByte(Console.ReadLine());
            medico    = DevolverMedico(numMedico);

            motivoVisita = Pedir("> Motivo de la visita: ");
            diagnostico  = Pedir("> Diagnóstico: ");

            if (indicaUrgencias.Key == ConsoleKey.U)
            {
                Console.WriteLine();
                Console.WriteLine("> Marque X si se ha planificado una " +
                                  "revisión o cualquier tecla en otro caso:");
                ConsoleKeyInfo indicaRevision = Console.ReadKey();

                if (indicaRevision.Key == ConsoleKey.X)
                {
                    Console.WriteLine(">>> Visita grabada como URGENCIA " +
                                      "CON revisión posterior");
                    visitas[cantidadVisitas] = new Urgencias(paciente,
                                                             medico, motivoVisita, diagnostico, true);
                }
                else
                {
                    Console.WriteLine("\n>>> Visita grabada como URGENCIA " +
                                      "sin revisión posterior");

                    visitas[cantidadVisitas] = new Urgencias(paciente,
                                                             medico, motivoVisita, diagnostico, false);
                }

                cantidadVisitas++;
            }
            else
            {
                Console.WriteLine("\n>>> Visita grabada como consulta " +
                                  "planificada");
                visitas[cantidadVisitas] = new Planificada(paciente,
                                                           medico, motivoVisita, diagnostico);

                cantidadVisitas++;
            }
        }
        else
        {
            if (cantidadVisitas >= CAPACIDAD_VISITAS - 1)
            {
                Console.WriteLine("No se pueden añadir más visitas");
            }
        }
    }