private int seleccionItinerario()
        {
            objControladorItinerario = new ControladorItinerario();
            int intSeleccion = 0;

            Boolean boolValidar = true;

            while (boolValidar)
            {
                try
                {
                    Console.Write("Seleccione Identificador: ");
                    intSeleccion = int.Parse(Console.ReadLine());

                    if (objControladorItinerario.validarSeleccionItinerario(intSeleccion))
                    {
                        boolValidar = false;
                    }
                    else
                    {
                        throw new ExceptionSeleccionNoValida();
                    }
                }
                catch (FormatException) { Console.WriteLine("Solo se Permite la Seleccion con Numeros."); }
                catch (ExceptionSeleccionNoValida e) { e.mensajeError(); }
            }
            return(intSeleccion);
        }
        private void validarSeleccionTerminales(Terminal terminalPartida, Terminal terminalArribo)
        {
            objControladorTerminal   = new ControladorTerminal();
            objControladorItinerario = new ControladorItinerario();

            List <Itinerario> itinerariosRegistrados = objControladorItinerario.traerItinerario();
            List <Recorrido>  recorridos             = objControladorItinerario.traerRecorridosdeItinerario();

            Boolean validarTerminalesSeleccionadas = objControladorTerminal.validarTerminalesSeleccionadas(terminalPartida, terminalArribo);
            Boolean validarTerminalesEnRecorridos  = objControladorTerminal.validarTerminalesEnRecorridos(recorridos, terminalPartida, terminalArribo);

            if (validarTerminalesSeleccionadas == false)
            {
                Console.WriteLine("Error, la Terminal de Partida y Arribo son las Mismas.");
                presioneTeclaParaContinuar();
            }
            else if (validarTerminalesEnRecorridos == false)
            {
                Console.WriteLine("No Existe Ningun Recorrido con las Terminales de Partida y Arribo Solicitadas.");
                presioneTeclaParaContinuar();
            }
            else
            {
                Console.Clear();
                objControladorEstadistica = new ControladorEstadisticaTerminal();
                EstadisticaTerminal objEstadisticaTerminal = new EstadisticaTerminal(terminalPartida.IdTerminal, terminalArribo.IdTerminal);
                objControladorEstadistica.agregarEstadisticaTerminal(objEstadisticaTerminal);
                seleccionarItinerario(terminalPartida, terminalArribo);
            }
        }
        private void agregarAsignacionRecorrido(Itinerario itinerario)
        {
            objControladorItinerario = new ControladorItinerario();
            List <Itinerario> itinerariosRegistrados = objControladorItinerario.traerItinerario();

            Boolean validarDiaChofer  = objControladorItinerario.validarDiadelViajeChofer(itinerariosRegistrados, itinerario);
            Boolean validarDiaOmnibus = objControladorItinerario.validarDiadeReservaOmnibus(itinerariosRegistrados, itinerario);

            if (validarDiaChofer == true && validarDiaOmnibus == true)
            {
                objControladorItinerario.agregarItinerario(itinerario);
                Console.WriteLine("La Asignacion del Recorrido fue Dado de Alta Correctamente.");
            }
            else if (validarDiaChofer == false && validarDiaOmnibus == true)
            {
                Console.WriteLine("El Chofer ya Realiza un Viaje ese Dia.");
            }
            else if (validarDiaChofer == true && validarDiaOmnibus == false)
            {
                Console.WriteLine("El Omnibus ya esta Reservado ese Dia.");
            }
            else
            {
                Console.WriteLine("El Chofer y el Omnibus no estan Disponible para ese Dia.");
            }

            presioneTeclaParaContinuar();
        }
        private void seleccionarItinerario(Terminal terminalPartida, Terminal terminalArribo)
        {
            objControladorItinerario = new ControladorItinerario();
            DataTable datosItinerario = objControladorItinerario.traerInformacionItinerario();

            Console.WriteLine("Seleccione el Itinerario");
            Console.WriteLine();
            objControladorItinerario.mostrarItinerarioDeTerminalesSeleccionadas(datosItinerario, terminalPartida, terminalArribo);

            Console.WriteLine();
            int intSeleccionItinerario = seleccionItinerario();

            Console.WriteLine();

            seleccionarCompraDePasajes(intSeleccionItinerario);
        }