public void IngresarDatos(int selec)
        {
            Console.WriteLine("Inserte Cedula");
            string id = Console.ReadLine();

            Console.WriteLine("Inserte Nombre");
            string nombre = Console.ReadLine();

            Console.WriteLine("Inserte Apellido");
            string apellido = Console.ReadLine();

            Console.WriteLine("Inserte Direccion");
            string direccion = Console.ReadLine();

            Console.WriteLine("Inserte Telefono");
            string telefono = Console.ReadLine();

            Console.WriteLine("Inserte sexo (m/f)");
            string sexo = Console.ReadLine();

            Console.WriteLine("Ingrese su fecha de nacimiento[DD/MM/AAAA]");
            string fechaNac = Console.ReadLine();

            string[] partesFecha = fechaNac.Split('/');
            string   anioNac     = partesFecha[2];
            int      anioNacInt  = Convert.ToInt32(anioNac);
            int      edadInt     = 2016 - anioNacInt;

            DateTime fecha    = DateTime.Parse(fechaNac);
            char     sexoChar = Convert.ToChar(sexo);


            switch (selec)
            {
            case 1:
                string rol = "medico";
                Console.WriteLine("Ingrese su especialidad");
                string    especialidad = Console.ReadLine();
                clsMedico medico       = new clsMedico(id, rol, nombre, apellido, especialidad, direccion, telefono, sexoChar, edadInt, fecha);
                MenuMedico(medico);
                break;

            case 2:
                rol = "paciente";
                clsPaciente paciente = new clsPaciente(id, rol, nombre, apellido, direccion, telefono, sexoChar, edadInt, fecha);
                MenuPaciente(paciente);
                break;

            case 3:
                rol = "funcionario";

                string         oficina     = " ";
                clsFuncionario funcionario = new clsFuncionario(id, rol, nombre, apellido, direccion, telefono, sexoChar, edadInt, fecha, oficina);

                MenuFuncionario(funcionario);
                break;
            }

            Console.ReadKey();
        }
        public clsPaciente(string id, string rol, string nombre, string apellido, string direccion, string telefono, char sexo, int edad, DateTime fechNac)
            : base()
        {
            base.crear(id, rol, nombre, apellido, direccion, telefono, sexo, edad, fechNac);

            base.buscar(id);

            clsHistClinica histClinica = new clsHistClinica();

            histClinica.insertarHistClinica(id, "empty", "empty", " ", " ", " ", "empty", "empty", "empty");
            clsMedico medico = new clsMedico();
        }
        public void MenuFuncionario(clsFuncionario funcionario)
        {
            string nombreUp   = funcionario.getNombre().ToUpper();
            string apellidoUp = funcionario.getApellido().ToUpper();

            Console.Clear();
            Console.WriteLine("Bienvenido " + nombreUp + " " + apellidoUp + "\nSelecciona una opcion:\n");
            Console.WriteLine("1. Ingresar un nuevo Paciente\n" +
                              "2. Informacion(buscar) Paciente\n" +
                              "3. Ingresar un nuevo Medico\n" +
                              "4. Informacion(buscar) Medico\n" +
                              "5. Eliminar usuario\n" +
                              "6. Datos personales\n" +
                              "7. Crear|Editar|Borrar una nuva cita" +
                              "8. Salir\n\n\t");


            selec = LectorOpciones();
            Console.Clear();

            do
            {
                switch (selec)
                {
                case 1:
                {
                    Console.WriteLine("A continuacion ingrese los datos del nuevo Paciente");
                    IngresarDatos(2);
                    break;
                }

                case 2:
                {
                    clsListar.obtener("paciente");
                    clsPaciente paciente = new clsPaciente();
                    Console.WriteLine("Ingrese el id del paciente del cual desee acceder a la informacion");
                    string id = Console.ReadLine();
                    paciente.buscar(id);
                    Console.WriteLine("Nombre: " + paciente.getNombre());
                    Console.WriteLine("Apellido: " + paciente.getApellido());
                    Console.WriteLine("Edad: " + paciente.getEdad());
                    Console.WriteLine("Fecha de Nacimiento: " + paciente.getFechNac());
                    Console.WriteLine("Direccion: " + paciente.getDireccion());
                    Console.WriteLine("Numero de Telefono: " + paciente.getTelefono());
                    Console.ReadKey();
                    break;
                }

                case 3:
                {
                    Console.WriteLine("A continuacion ingrese los datos del nuevo Medico");
                    IngresarDatos(1);
                    break;
                }

                case 4:
                {
                    clsListar.obtener("medico");
                    clsMedico medico = new clsMedico();
                    Console.WriteLine("Ingrese el id del medico del cual desee acceder a la informacion");
                    string id = Console.ReadLine();
                    medico.buscar(id);
                    Console.WriteLine("Nombre: " + medico.getNombre());
                    Console.WriteLine("Apellido: " + medico.getApellido());
                    Console.WriteLine("Especialidad: " + medico.getEspecialidad());
                    Console.WriteLine("Edad: " + medico.getEdad());
                    Console.WriteLine("Fecha de Nacimiento: " + medico.getFechNac());
                    Console.WriteLine("Direccion: " + medico.getDireccion());
                    Console.WriteLine("Numero de Telefono: " + medico.getTelefono());
                    Console.ReadKey();
                    break;
                }

                case 5:
                {
                    clsDatos borrar = new clsDatos();

                    Console.WriteLine("Elija al tipo de usuario que desea eliminar: \n" +
                                      "1.Paciente\n" +
                                      "2.Medico");
                    selec = LectorOpciones();
                    Console.Clear();
                    if (selec == 1)
                    {
                        Console.WriteLine("\tUSUARIOS DE TIPO ==PACIENTE== ");
                        clsListar.obtener("paciente");
                        Console.WriteLine("\nIngrese la identificación del usuario a eliminar: ");
                        string id = Console.ReadLine();
                        borrar.borrarPersona(id);
                        Console.ReadKey();
                        Console.Clear();
                        MenuFuncionario(funcionario);
                    }
                    else if (selec == 2)
                    {
                        Console.WriteLine("\tUSUARIOS DE TIPO ==MEDICO== ");
                        clsListar.obtener("medico");
                        Console.WriteLine("Ingrese la identificación del usuario a eliminar: ");
                        string id = Console.ReadLine();
                        Console.Clear();
                        borrar.borrarPersona(id);
                        Console.ReadKey();
                        Console.Clear();
                        MenuFuncionario(funcionario);
                    }


                    break;
                }

                case 6:
                {
                    clsDatos obtener = new clsDatos();
                    Console.WriteLine("\t==Elija una opción:==\n" +
                                      "\n1.Editar sus datos personales\n" +
                                      "2.Consultar sus datos personales\n");
                    selec = LectorOpciones();
                    Console.Clear();
                    if (selec == 1)
                    {
                        Console.WriteLine("\t==Sus datos actuales son los siguientes:==\n");
                        Console.WriteLine("Nombre: " + funcionario.getNombre());
                        Console.WriteLine("Apellido: " + funcionario.getApellido());
                        Console.WriteLine("Edad: " + funcionario.getEdad());
                        Console.WriteLine("Fecha de Nacimiento: " + funcionario.getFechNac());
                        Console.WriteLine("Direccion: " + funcionario.getDireccion());
                        Console.WriteLine("Numero de Telefono: " + funcionario.getTelefono());
                        editarDatosPersona(funcionario.getId());
                        MenuFuncionario(funcionario);
                    }
                    else if (selec == 2)
                    {
                        Console.WriteLine("\t==Sus datos actuales son los siguientes:==\n");
                        Console.WriteLine("Nombre: " + funcionario.getNombre());
                        Console.WriteLine("Apellido: " + funcionario.getApellido());
                        Console.WriteLine("Edad: " + funcionario.getEdad());
                        Console.WriteLine("Fecha de Nacimiento: " + funcionario.getFechNac());
                        Console.WriteLine("Direccion: " + funcionario.getDireccion());
                        Console.WriteLine("Numero de Telefono: " + funcionario.getTelefono());
                        Console.ReadKey();
                        Console.Clear();
                        MenuFuncionario(funcionario);
                    }
                    break;
                }

                case 7:
                {
                    MenuCitas(funcionario);
                    break;
                }

                case 8:
                {
                    MenuBienvenida();
                    break;
                }

                default:
                {
                    Console.WriteLine("Opcion no valida!");
                    break;
                }
                }
            } while (selec != 8);
        }
        public void MenuBienvenida()
        {
            Console.Clear();
            Console.WriteLine("\tHOSPITAL VALLE CEREZO\n" + "Presione:\n" +
                              "1.Ingresar al sistema \n" +
                              "2.Para Salir\n");



            selec = LectorOpciones();

            do
            {
                if (selec == 1)
                {
                    Console.Clear();
                    Console.WriteLine("\nIngrese su numero de cedula...");

                    string     id      = Console.ReadLine();
                    clsPersona persona = new clsPersona();


                    if (persona.buscar(id))
                    {
                        if (persona.tieneRol("paciente"))
                        {
                            clsPaciente paciente = new clsPaciente();
                            paciente.buscar(id);

                            MenuPaciente(paciente);
                        }
                        else if (persona.tieneRol("medico"))
                        {
                            clsMedico medico = new clsMedico();
                            medico.buscar(id);
                            MenuMedico(medico);
                        }
                        else if (persona.tieneRol("funcionario"))
                        {
                            clsFuncionario funcionario = new clsFuncionario();
                            funcionario.buscar(id);

                            MenuFuncionario(funcionario);
                        }
                    }
                    else if (!persona.buscar(id))
                    {
                        Console.Clear();
                        Console.WriteLine("El usuario no existe, desea crear uno nuevo? (1. SI || 2. NO || 3. SALIR)");

                        selec = LectorOpciones();


                        switch (selec)
                        {
                        case 1:

                            Console.WriteLine("Seleccione una opción:\n" +
                                              "1.MEDICO\n" +
                                              "2.PACIENTE\n" +
                                              "3.FUNCIONARIO\n\t");
                            do
                            {
                                selec = LectorOpciones();
                                if (selec == 1 || selec == 2 || selec == 3)
                                {
                                    IngresarDatos(selec);
                                }
                                else
                                {
                                    Console.WriteLine("Opcion no valida");
                                }
                            } while (selec != 4);

                            break;

                        case 2:

                            MenuBienvenida();
                            break;

                        case 3:
                            Console.Clear();
                            Console.WriteLine("\n\t\t\t\t\t==FIN==");
                            //Console.ReadKey();
                            { }
                            System.Console.Out.Close();
                            break;

                        default:
                            break;
                        }
                    }
                }
                else if (selec == 2)
                {
                    Console.Clear();
                    Console.WriteLine("\n\t\t\t\t\t==FIN==");
                    { } System.Console.Out.Close();
                }
            } while (selec != 2);
        }
        public void MenuMedico(clsMedico medico)
        {
            string nombreUp   = medico.getNombre().ToUpper();
            string apellidoUp = medico.getApellido().ToUpper();

            Console.Clear();
            Console.WriteLine("Bienvenido " + nombreUp + " " + apellidoUp + " \nSelecciona una opcion:\n");
            Console.WriteLine("1. Listar Citas\n" +
                              "2. Informacion Pacientes\n" +
                              "3. Crear nueva historia clinica\n" +
                              "4. Datos personales\n" +
                              "5. Salir\n\n\t");


            selec = LectorOpciones();
            Console.Clear();

            do
            {
                switch (selec)
                {
                case 1:
                {
                    //F(x) listar citas
                    break;
                }

                case 2:
                {
                    clsListar.obtener("paciente");
                    MenuElegirPaciente();
                    break;
                }

                case 3:
                {
                    MenuInsertarHistoria();
                    Console.Clear();

                    break;
                }

                case 4:
                {
                    clsDatos obtener = new clsDatos();
                    Console.WriteLine("\t==Elija una opción:==\n" +
                                      "\n1.Editar sus datos personales\n" +
                                      "2.Consultar sus datos personales\n");
                    selec = LectorOpciones();
                    Console.Clear();
                    if (selec == 1)
                    {
                        Console.WriteLine("\t==Sus datos actuales son los siguientes:==\n");
                        Console.WriteLine("Nombre: " + medico.getNombre());
                        Console.WriteLine("Apellido: " + medico.getApellido());
                        Console.WriteLine("Especialidad: " + medico.getEspecialidad());
                        Console.WriteLine("Edad: " + medico.getEdad());
                        Console.WriteLine("Fecha de Nacimiento: " + medico.getFechNac());
                        Console.WriteLine("Direccion: " + medico.getDireccion());
                        Console.WriteLine("Numero de Telefono: " + medico.getTelefono());
                        editarDatosPersona(medico.getId());
                        MenuMedico(medico);
                    }
                    else if (selec == 2)
                    {
                        Console.WriteLine("\t==Sus datos actuales son los siguientes:==\n");
                        Console.WriteLine("Nombre: " + medico.getNombre());
                        Console.WriteLine("Apellido: " + medico.getApellido());
                        Console.WriteLine("Especialidad: " + medico.getEspecialidad());
                        Console.WriteLine("Edad: " + medico.getEdad());
                        Console.WriteLine("Fecha de Nacimiento: " + medico.getFechNac());
                        Console.WriteLine("Direccion: " + medico.getDireccion());
                        Console.WriteLine("Numero de Telefono: " + medico.getTelefono());
                        Console.ReadKey();
                        Console.Clear();
                        MenuMedico(medico);
                    }
                    break;
                }

                case 5:
                {
                    MenuBienvenida();
                    break;
                }

                default:
                {
                    Console.WriteLine("Opcion no valida!");
                    break;
                }
                }
            } while (selec != 4);
        }