| Quintiq file version 2.0 | 
| #parent: #root | 
| Method PTF_CheckPreconditionOK ( | 
|   Boolean singleeditmode, | 
|   output String feedback_o | 
| ) as Boolean id:Method_LibPTF_dlgCreateEditTestScript_PTF_CheckPreconditionOK | 
| { | 
|   #keys: '[103546.0.59539049]' | 
|   Body: | 
|   [* | 
|     // Checks various precondition before user allow to press OK button | 
|     this.PTF_IsReadyToRun( feedback_o ); | 
|      | 
|     if( edtTotalNrOfSessions.Text().TrimBoth().Length() > 0 | 
|         and edtNrOfSimultaneousSessions.Text().TrimBoth().Length() > 0 ) | 
|     { | 
|       session    := [Number]edtTotalNrOfSessions.Text(); | 
|       concurrent := [Number]edtNrOfSimultaneousSessions.Text(); | 
|      | 
|       if( not session >= concurrent ) | 
|       { | 
|         feedback_o := feedback_o + "The number of concurrent sessions should be less than or equal to the total number of sessions" + String::NewLine(); | 
|       } | 
|     } | 
|      | 
|     if( durMinStartClientDelay.Duration() > durMaxStartClientDelay.Duration() ) | 
|     { | 
|       feedback_o := feedback_o + "Start client delay range is invalid" + String::NewLine(); | 
|     } | 
|      | 
|     if( singleeditmode ) | 
|     { | 
|       if( edtUser.Text().TrimBoth().Length() = 0 ) | 
|       { | 
|         feedback_o := feedback_o + "User name cannot be empty" + String::NewLine(); | 
|       } | 
|      | 
|       if( not selClientType.BoundValue().Length() > 0 ) | 
|       { | 
|         feedback_o := feedback_o + "Client type cannot be empty" + String::NewLine(); | 
|       } | 
|      | 
|       if( not selLogging.BoundValue().Length() > 0 ) | 
|       { | 
|         feedback_o := feedback_o + "Logging cannot be empty" + String::NewLine(); | 
|       } | 
|      | 
|       if( edtDatasetKind.Text().TrimBoth().Length() = 0 ) | 
|       { | 
|         feedback_o := feedback_o + "Dataset kind cannot be empty" + String::NewLine(); | 
|       } | 
|      | 
|       if( edtDatasetFolder.Text().TrimBoth().Length() = 0 ) | 
|       { | 
|         feedback_o := feedback_o + "Dataset folder cannot be empty" + String::NewLine(); | 
|       } | 
|      | 
|       if( edtDataset.Text().TrimBoth().Length() = 0 ) | 
|       { | 
|         feedback_o := feedback_o + "Dataset instance cannot be empty" + String::NewLine(); | 
|       } | 
|      | 
|       if( not selProject.BoundValue().Length() > 0 ) | 
|       { | 
|         feedback_o := feedback_o + "Project cannot be empty" + String::NewLine(); | 
|       } | 
|      | 
|       if( edtTotalNrOfSessions.Text().TrimBoth().Length() = 0 ) | 
|       { | 
|         feedback_o := feedback_o + "Sessions cannot be empty" + String::NewLine(); | 
|       } | 
|      | 
|       if( edtNrOfSimultaneousSessions.Text().TrimBoth().Length() = 0 ) | 
|       { | 
|         feedback_o := feedback_o + "Concurrent sessions cannot be empty" + String::NewLine(); | 
|       } | 
|      | 
|       if( edtActionScript.Text().TrimBoth().Length() = 0 ) | 
|       { | 
|         feedback_o := feedback_o + "Test script cannot be empty" + String::NewLine(); | 
|       } | 
|     } | 
|     else | 
|     { | 
|       requiredtotalnrofsession := edtTotalNrOfSessions.Text().TrimBoth().Length() = 0 | 
|                                   and edtNrOfSimultaneousSessions.Text().TrimBoth().Length() > 0; | 
|      | 
|       requirednrofsimultaneoussession := edtTotalNrOfSessions.Text().TrimBoth().Length() > 0 | 
|                                          and edtNrOfSimultaneousSessions.Text().TrimBoth().Length() = 0; | 
|      | 
|       if( requiredtotalnrofsession ) | 
|       { | 
|         feedback_o := feedback_o + "Sessions cannot be empty" + String::NewLine(); | 
|       } | 
|      | 
|       if( requirednrofsimultaneoussession ) | 
|       { | 
|         feedback_o := feedback_o + "Concurrent sessions cannot be empty" + String::NewLine(); | 
|       } | 
|      | 
|     } | 
|      | 
|     return feedback_o = ""; | 
|   *] | 
| } |