| Quintiq file version 2.0 | 
| #parent: #root | 
| Method DeleteDatasetAllowed ( | 
|   structured[LibOpt_SnapshotReplannableCopyDataset] snapshots | 
| ) as Boolean id:Method_LibOpt_GlobalState_DeleteDatasetAllowed | 
| { | 
|   #keys: '[141860.2.581292619]' | 
|   Body: | 
|   [* | 
|     // Precondition method to check if the DeleteDataset method can be executed.   | 
|      | 
|     feedbackobj := FeedbackObject::LocalFeedback(); | 
|                     | 
|     hasCreatedAnyDataset := exists( snapshots, | 
|                                     Elements, | 
|                                     snapshot, | 
|                                     snapshot.HasCreatedDataset() | 
|                                     );                                 | 
|      | 
|     hasNotDeletedDataset := exists( snapshots, | 
|                                     Elements, | 
|                                     snapshot, | 
|                                     not snapshot.IsDatasetDeleted() | 
|                                     ); | 
|      | 
|     if( not feedbackobj.CheckHard( hasCreatedAnyDataset ) ) | 
|     { | 
|       feedbackobj.AddHard( Translations::LibOpt_SnapshotReplannable_Precondition_DatasetBeingCreated() ); | 
|     } | 
|     else if( not feedbackobj.CheckHard( hasNotDeletedDataset ) ) | 
|     { | 
|       feedbackobj.AddHard( Translations::LibOpt_SnapshotReplannable_Precondition_DeleteDataset() ); | 
|     } | 
|      | 
|     return feedbackobj.IsAllowed(); | 
|   *] | 
| } |