| Quintiq file version 2.0 | 
| #parent: #root | 
| Method LoadDatasetAllowedSnapshotForm ( | 
|   LibOpt_Optimization optimization | 
| ) as Boolean id:Method_LibOpt_GlobalState_LoadDatasetAllowedSnapshotForm | 
| { | 
|   #keys: '[141860.2.616002880]' | 
|   Body: | 
|   [* | 
|     // Precondition method for the 'Reload parent dataset' button of the 'Replannable snapshots' form.  | 
|      | 
|     feedbackobj := FeedbackObject::LocalFeedback(); | 
|      | 
|     // If no dataset is selected, then the optimization object is null | 
|     if( not feedbackobj.CheckHard( not isnull( optimization ) ) ) | 
|     { | 
|       feedbackobj.AddHard( Translations::LibOpt_OptimizationNull() ); | 
|     } | 
|     // If optimization.ParentDatasetMDSKey() = Key::ZeroKey(), then the currently loaded dataset is not created from another dataset, so we cannot revert to that dataset. | 
|     // If optimization.IsOptimizerDatasetCopy() is false, then the current dataset is a dataset that is not created with the 'Replannable snapshots' functionality. | 
|     // It is confusing if the 'Reload parent dataset' button in the 'Replannable snapshots' form can also be used for datasets that are not related to the replannable snapshots functionality. | 
|     else if( not feedbackobj.CheckHard( optimization.MDSKeyParentDataset() <> Key::ZeroKey() and optimization.IsOptimizerDatasetCopy() ) ) | 
|     { | 
|       feedbackobj.AddHard( Translations::LibOpt_SnapshotReplannable_Precondition_NoParentDataset() );   | 
|     } | 
|         | 
|     return feedbackobj.IsAllowed(); | 
|   *] | 
| } |