Quintiq file version 2.0 
 | 
#parent: #root 
 | 
Method UnloadDatasetAllowed ( 
 | 
  structured[LibOpt_SnapshotReplannableCopyDataset] snapshots 
 | 
) as Boolean id:Method_LibOpt_GlobalState_UnloadDatasetAllowed 
 | 
{ 
 | 
  #keys: '[141860.2.581338533]' 
 | 
  Body: 
 | 
  [* 
 | 
    // Precondition method for the UnloadDataset method 
 | 
    feedbackobj := FeedbackObject::LocalFeedback(); 
 | 
                    
 | 
    hasLoadedDataset := exists( snapshots, 
 | 
                                Elements, 
 | 
                                snapshot, 
 | 
                                snapshot.IsDatasetLoaded() 
 | 
                                and not snapshot.IsDatasetDeleted() 
 | 
                                ); 
 | 
                    
 | 
    hasCreatedAnyDataset := exists( snapshots, 
 | 
                                    Elements, 
 | 
                                    snapshot, 
 | 
                                    snapshot.HasCreatedDataset() 
 | 
                                    );                                 
 | 
     
 | 
    if( not feedbackobj.CheckHard( hasCreatedAnyDataset ) ) 
 | 
    { 
 | 
      feedbackobj.AddHard( Translations::LibOpt_SnapshotReplannable_Precondition_DatasetBeingCreated() ); 
 | 
    } 
 | 
    else if( not feedbackobj.CheckHard( hasLoadedDataset ) ) 
 | 
    { 
 | 
      feedbackobj.AddHard( Translations::LibOpt_SnapshotReplannable_Precondition_UnloadDataset() ); 
 | 
    } 
 | 
     
 | 
    return feedbackobj.IsAllowed(); 
 | 
  *] 
 | 
} 
 |