public static void RecordComplexOriginalValues(String parentPropertyName, O_LISTAR_RUTA_COMPLETO complexObject, ObjectChangeTracker changeTracker)
        {
            if (String.IsNullOrEmpty(parentPropertyName))
            {
                throw new ArgumentException("El parámetro de cadena no puede ser NULL ni estar vacío.", "parentPropertyName");
            }

            if (changeTracker == null)
            {
                throw new ArgumentNullException("changeTracker");
            }
            changeTracker.RecordOriginalValue(String.Format(CultureInfo.InvariantCulture, "{0}.ID_RUTA", parentPropertyName), complexObject == null ? null : (object)complexObject.ID_RUTA);
            changeTracker.RecordOriginalValue(String.Format(CultureInfo.InvariantCulture, "{0}.ID_CIUDAD_ORIGEN", parentPropertyName), complexObject == null ? null : (object)complexObject.ID_CIUDAD_ORIGEN);
            changeTracker.RecordOriginalValue(String.Format(CultureInfo.InvariantCulture, "{0}.ID_CIUDAD_DESTINO", parentPropertyName), complexObject == null ? null : (object)complexObject.ID_CIUDAD_DESTINO);
            changeTracker.RecordOriginalValue(String.Format(CultureInfo.InvariantCulture, "{0}.ID_FLOTA", parentPropertyName), complexObject == null ? null : (object)complexObject.ID_FLOTA);
            changeTracker.RecordOriginalValue(String.Format(CultureInfo.InvariantCulture, "{0}.ID_HORARIO", parentPropertyName), complexObject == null ? null : (object)complexObject.ID_HORARIO);
            changeTracker.RecordOriginalValue(String.Format(CultureInfo.InvariantCulture, "{0}.ID_PRECIO", parentPropertyName), complexObject == null ? null : (object)complexObject.ID_PRECIO);
            changeTracker.RecordOriginalValue(String.Format(CultureInfo.InvariantCulture, "{0}.ID_CONDUCTOR", parentPropertyName), complexObject == null ? null : (object)complexObject.ID_CONDUCTOR);
            changeTracker.RecordOriginalValue(String.Format(CultureInfo.InvariantCulture, "{0}.PRECIO", parentPropertyName), complexObject == null ? null : (object)complexObject.PRECIO);
            changeTracker.RecordOriginalValue(String.Format(CultureInfo.InvariantCulture, "{0}.HORA", parentPropertyName), complexObject == null ? null : (object)complexObject.HORA);
            changeTracker.RecordOriginalValue(String.Format(CultureInfo.InvariantCulture, "{0}.ID_TIPO_FLOTA", parentPropertyName), complexObject == null ? null : (object)complexObject.ID_TIPO_FLOTA);
            changeTracker.RecordOriginalValue(String.Format(CultureInfo.InvariantCulture, "{0}.PLACA", parentPropertyName), complexObject == null ? null : (object)complexObject.PLACA);
            changeTracker.RecordOriginalValue(String.Format(CultureInfo.InvariantCulture, "{0}.MODELO", parentPropertyName), complexObject == null ? null : (object)complexObject.MODELO);
            changeTracker.RecordOriginalValue(String.Format(CultureInfo.InvariantCulture, "{0}.NRO_ASIENTOS", parentPropertyName), complexObject == null ? null : (object)complexObject.NRO_ASIENTOS);
            changeTracker.RecordOriginalValue(String.Format(CultureInfo.InvariantCulture, "{0}.TIPO_FLOTA", parentPropertyName), complexObject == null ? null : (object)complexObject.TIPO_FLOTA);
            changeTracker.RecordOriginalValue(String.Format(CultureInfo.InvariantCulture, "{0}.AUD_ESTADO", parentPropertyName), complexObject == null ? null : (object)complexObject.AUD_ESTADO);
        }