private void btnRegistrar_Click(object sender, EventArgs e) { //valido campos ingresados if (ValidarCampos()) { //los campos son validos, valido que no exista el viaje y lo registro Viaje unNuevoViaje = new Viaje(); unNuevoViaje.Id_Chofer = Convert.ToInt32(cmbChofer.SelectedValue); unNuevoViaje.Id_Automovil = IDAutomovil; unNuevoViaje.Id_Turno = Convert.ToInt32(cmbTurno.SelectedValue); unNuevoViaje.Id_Cliente = Convert.ToInt32(cmbCliente.SelectedValue); unNuevoViaje.CantKilometros = Convert.ToDecimal(txtKilometros.Text); unNuevoViaje.FechaYHoraInicio = dtpFechaInicio.Value.ToString("yyyy-MM-dd HH:mm:ss"); unNuevoViaje.FechaYHoraFin = dtpFechaFin.Value.ToString("yyyy-MM-dd HH:mm:ss"); if (!unNuevoViaje.ViajeExistente()) { //obtengo el turno para calcular el precio del viaje y para verificar que el horario de turno este entre los horarios ingresados //precio base turno + valor del km * cant km Turno unTurno = new Turno(); DataSet ds = unTurno.obtenerTurnoPorId(unNuevoViaje.Id_Turno); unTurno.DataRowToObject(ds.Tables[0].Rows[0]); if (ds.Tables[0].Rows.Count != 0) { if (ValidarHorario(unTurno)) { unNuevoViaje.Precio = unTurno.PrecioBase + unTurno.ValorKilometro * unNuevoViaje.CantKilometros; unNuevoViaje.guardarDatosDeViajeNuevo(); DialogResult dr = MessageBox.Show("El viaje ha sido creado", "Perfecto!", MessageBoxButtons.OK, MessageBoxIcon.Information); if (dr == DialogResult.OK) { resetearCampos(); } } else { MessageBox.Show("El horario ingresado esta fuera del rango del turno", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } else { MessageBox.Show("Ya existe un viaje dentro de ese rango horario para ese chofer, turno y/o cliente.", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }