Quintiq file version 2.0
|
#parent: #root
|
Method UpdateTypeIndex (
|
String id
|
)
|
{
|
Description: 'Update Lane TypeIndex and the linked instances.'
|
TextBody:
|
[*
|
// Execute the logic below only if the new ID is not the same as the old ID
|
if( this.ID() <> id )
|
{
|
// Update all LaneLeg(s) that belongs to this Lane
|
traverse( this, LaneLeg, leg )
|
{
|
leg.UpdateTypeIndex( id, leg.OriginStockingPointID(), leg.DestinationStockingPointID() );
|
}
|
|
// Update all origin StockingPointInLane(s) that belongs to this Lane
|
traverse( this, Origin, origin )
|
{
|
origin.UpdateTypeIndex( origin.StockingPointID(), id, origin.DestinationLaneID(), false );
|
}
|
|
// Update all destination StockingPointInLane(s) that belongs to this Lane
|
traverse( this, Destination, destination )
|
{
|
destination.UpdateTypeIndex( destination.StockingPointID(), destination.OriginLaneID(), id, false );
|
}
|
|
// Update all ProductInLane(s) that belongs to this Lane
|
traverse( this, ProductInLane, pil )
|
{
|
pil.UpdateTypeIndex( id, pil.ProductID() );
|
}
|
|
// Update all LaneCost(s) that is associated to this Lane
|
traverse( this, LaneCost, lcost )
|
{
|
lcost.UpdateForeignKey( id );
|
}
|
|
// Update the ID of this Lane
|
this.IsManuallyConfigured( true );
|
Lane::ChangeKeyLaneTypeIndex( this, id );
|
}
|
*]
|
}
|