Quintiq file version 2.0
|
#parent: #root
|
Method ChangeKeyChannelMeta (String systemGUID_i, String name_i, Boolean updateReferences_i,
|
LibDEF_IntegrationEvent event_i)
|
{
|
Description: 'Update primary key combination System-GUID and name.'
|
TextBody:
|
[*
|
// Jacky CHAN May-10-2016 (created)
|
// raise error if not unique
|
duplicatedChannelMeta := LibDEF_ChannelMeta::FindChannelMeta( this.System().DataBroker(), systemGUID_i, name_i, this );
|
if( not isnull( duplicatedChannelMeta ) )
|
{
|
LibDEF_Util::EventLogError( event_i,
|
"Failed to update Channel's primary key",
|
"LibDEF_ChannelMeta::ChangeKeyChannelMeta fails due to duplicated entry of LibDEF_ChannelMeta" +
|
duplicatedChannelMeta.GetInstanceKeyAsString() );
|
}
|
|
this.SystemGUID( systemGUID_i );
|
this.Name ( name_i );
|
|
if( updateReferences_i )
|
{
|
// update references
|
traverse( this, SetTypeMeta, st )
|
{
|
st.ChangeKeySetTypeMeta( systemGUID_i, name_i, // modified keys
|
st.Name(), // unchanged keys
|
updateReferences_i,
|
event_i );
|
|
traverse( st, SetMeta, set )
|
{
|
set.ChangeKeySetMeta( systemGUID_i, name_i, // modified keys
|
set.SetTypeName(), set.Name(), // unchanged keys
|
event_i );
|
}
|
}
|
}
|
*]
|
}
|