private void CargarDatos()
        {
            Turnos turno = mapper.ObtenerTurnos(idTurno);



            textBox_HoraInicio.Text     = Convert.ToString(turno.GetHoraInicio());
            textBox_HoraFin.Text        = Convert.ToString(turno.GetHoraFin());
            textBox_Descripcion.Text    = Convert.ToString(turno.GetDescripcion());
            textBox_ValorKilometro.Text = Convert.ToString(turno.GetValorKilometro());
            textBox_PrecioBase.Text     = Convert.ToString(turno.GetPrecioBaseTurno());
            checkBox_Habilitado.Checked = Convert.ToBoolean(mapper.SelectFromWhere("turno_habilitado", "Turno", "turno_id", this.idTurno));
        }
        private void button_Guardar_Click(object sender, EventArgs e)
        {
            String   DNICliente  = comboBox_Cliente.Text;
            String   CantKm      = textBox_CantidadKm.Text;
            String   fecha       = textBox_Fecha.Text;
            TimeSpan horarioIni  = horaInicio.Value.TimeOfDay;
            TimeSpan horarioFin  = horaFin.Value.TimeOfDay;
            String   DNIChofer   = comboBox_chofer.Text;
            String   PatenteAuto = textBox_Automovil.Text;


            //Crear RegistroViaje
            try
            {
                RegistroViaje registroViaje = new RegistroViaje();
                registroViaje.SetIdChofer(DNIChofer);
                registroViaje.SetIdAuto(PatenteAuto);
                String idTurnoSeleccionado = this.obtenerIdTurnoaPartirDeCombobox(comboBox_TurnosAutmovilSeleccionado.Text);
                registroViaje.SetIdTurno(idTurnoSeleccionado);
                registroViaje.SetCantidadKm(CantKm);
                registroViaje.SetFechaViaje(fecha);
                registroViaje.SetIdCliente(DNICliente);


                Turnos turnoSeleccionado = mapper.ObtenerTurnos(Convert.ToInt32(idTurnoSeleccionado));

                if (!(horaInicio.Value.TimeOfDay.Hours >= turnoSeleccionado.GetHoraInicio() && horaFin.Value.TimeOfDay.Hours <= turnoSeleccionado.GetHoraFin()))
                {
                    throw new HorarioNoCoincideConTurno("El horario no corresponde al turno");
                }

                if (horarioFin <= horarioIni)
                {
                    throw new DuracionViajeInvalidaException("La HoraFin no puede ser menor o igual que la HoraInicio");
                }
                else
                {
                    registroViaje.SetHoraInicio(horarioIni);
                    registroViaje.SetHoraFin(horarioFin);
                }

                int idRegistroViaje = mapper.Crear(registroViaje);

                if (idRegistroViaje > 0)
                {
                    MessageBox.Show("Registro de viaje agregado correctamente");
                    this.Hide();
                    new MenuPrincipal().ShowDialog();
                    this.Close();
                }
            }
            catch (NullReferenceException) { }

            catch (ClienteInexistenteException error)
            {
                MessageBox.Show(error.Message, "Cliente inexistente", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            catch (CampoVacioException exception)
            {
                MessageBox.Show("Falta completar campo: " + exception.Message);
                return;
            }
            catch (SqlException error)
            {
                if (error.Number == 51015)
                {
                    MessageBox.Show(error.Message, "Error al registrar", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
                if (error.Number == 51016)
                {
                    MessageBox.Show(error.Message, "Error al registrar", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
            }
            catch (DuracionViajeInvalidaException error) {
                MessageBox.Show(error.Message, "Error al registrar", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            catch (PatenteAutomovilInexistente error)
            {
                MessageBox.Show(error.Message, "Error al registrar", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            catch (ChoferInexistenteException error)
            {
                MessageBox.Show(error.Message, "Error al registrar", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            catch (CantidaKilometrosInvalidoException error)
            {
                MessageBox.Show(error.Message, "Error al registrar", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            catch (ClienteInhabilitadoException error)
            {
                MessageBox.Show(error.Message, "Error al registrar", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            catch (HorarioNoCoincideConTurno error)
            {
                MessageBox.Show(error.Message, "Error horario no coincide con el turno", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            catch (FormatoInvalidoException exceptionFormato)
            {
                MessageBox.Show("Los datos fueron mal ingresados en: " + exceptionFormato.Message);
                return;
            }
        }