public static function RestoreByNameForClass($strName, $intClassId, $strVersion) { $objClassProperty = ClassProperty::QuerySingle(QQ::AndCondition(QQ::Equal(QQN::ClassProperty()->QcodoClassId, $intClassId), QQ::Equal(QQN::ClassProperty()->Variable->Name, $strName))); if (!$objClassProperty) { $objConnectedClassVariable = ClassVariable::LoadByPartialNameForClass($strName, $intClassId); $objVariable = Variable::CreateNewForName($strName, $strVersion); $objClassProperty = new ClassProperty(); $objClassProperty->QcodoClassId = $intClassId; $objClassProperty->VariableGroupId = 1; $objClassProperty->Variable = $objVariable; if ($objConnectedClassVariable) { $objClassProperty->ClassVariable = $objConnectedClassVariable; $objClassProperty->VariableGroupId = $objConnectedClassVariable->VariableGroupId; } $objClassProperty->Save(); } else { if ($objClassProperty->Variable->LastVersion) { $objClassProperty->Variable->LastVersion = null; $objClassProperty->Variable->Save(); } if ($objClassProperty->ClassVariable) { $objClassProperty->VariableGroupId = $objClassProperty->ClassVariable->VariableGroupId; $objClassProperty->Save(); } } return $objClassProperty; }
public static function RestoreByNameForClass($strName, $intClassId, $strVersion) { $objClassVariable = ClassVariable::QuerySingle(QQ::AndCondition(QQ::Equal(QQN::ClassVariable()->QcodoClassId, $intClassId), QQ::Equal(QQN::ClassVariable()->Variable->Name, $strName))); if (!$objClassVariable) { $objVariable = Variable::CreateNewForName($strName, $strVersion); $objClassVariable = new ClassVariable(); $objClassVariable->Variable = $objVariable; $objClassVariable->QcodoClassId = $intClassId; $objClassVariable->VariableGroupId = 1; $objClassVariable->ProtectionTypeId = ProtectionType::_Public; $objClassVariable->Save(); } else { if ($objClassVariable->Variable->LastVersion) { $objClassVariable->Variable->LastVersion = null; $objClassVariable->Variable->Save(); } } return $objClassVariable; }