Quintiq file version 2.0
|
#parent: #root
|
StaticMethod ValidateInput (
|
output String feedback_o,
|
MacroPlan owner_i,
|
OptimizerPuzzleWIP optimizerpuzzlewip_i,
|
String optimizerpuzzlename_i
|
) declarative remote as Boolean
|
{
|
Description:
|
[*
|
Verify if optimizer puzzle is valid
|
- empty name
|
- unique name
|
*]
|
TextBody:
|
[*
|
// Check if the values commited are valid
|
feedback_o := '';
|
|
// Check if name is empty
|
// First check for performance reason
|
if( optimizerpuzzlename_i = '' )
|
{
|
feedback_o := Translations::MP_OptimizerPuzzle_ValidateInput_IsNameEmpty();
|
}
|
// Check if opimizer is World
|
else if( optimizerpuzzlewip_i.IsWorld() )
|
{
|
feedback_o := Translations::MP_OptimizerPuzzleBase_CannotEditWorld();
|
}
|
|
// Check if name is unique
|
else if( exists( owner_i,
|
OptimizerPuzzle,
|
op,
|
optimizerpuzzlewip_i.CreateAsNew() or // CreateAsNew = copy (versus edit), we always want consider all puzzle for name unique check
|
op <> optimizerpuzzlewip_i.OptimizerPuzzle(), // not preventing user from editing and keeping the same name
|
op.Name() = optimizerpuzzlename_i ) )
|
{
|
feedback_o := Translations::MP_OptimizerPuzzle_ValidateInput_IsNameUnique();
|
}
|
|
return feedback_o = '';
|
*]
|
}
|