예제 #1
0
 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;
 }
예제 #2
0
 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;
 }