| Quintiq file version 2.0 | 
| #parent: #root | 
| StaticMethod GetIsUniqueCost ( | 
|   output String feedback_o, | 
|   StockingPoint_MPs stockingPoints, | 
|   StockingPointCosts stockingPointCosts, | 
|   String accountName, | 
|   String costDriver, | 
|   Date start | 
| ) declarative remote as Boolean | 
| { | 
|   Description: '(Web) Precondition to check stocking point cost whether is unique' | 
|   TextBody: | 
|   [* | 
|     // Check dialog input is unique cost | 
|     // No need verify batch edit as not possible to edit cost driver/account/start  | 
|      | 
|     isCreate := stockingPointCosts.Size() = 0; // Empty cost indicate create mode (single create allowed only) | 
|      | 
|     if( isCreate ) | 
|     { | 
|       // Separate validation on creation | 
|       // Single or drag&drop multiple | 
|       traverse( stockingPoints, Elements, sp ) | 
|       { | 
|         StockingPointCost::GetIsUniqueCost( feedback_o, | 
|                                             null( StockingPointCost ), // Does not have SP cost to validate | 
|                                             sp, | 
|                                             accountName, | 
|                                             costDriver, | 
|                                             start ); | 
|       } | 
|     } | 
|     else if( stockingPointCosts.Size() = 1 ) // Single edit, as batch edit not allowed to change cost driver/start/account thus no validation required | 
|     { | 
|       // Don't use TC validation as the feedback text is generic. We want specific text when not unique | 
|       stockingPointCostToEdit := stockingPointCosts.Element( 0 ); | 
|       stockingPointToEdit := stockingPoints.Element( 0 ); // Based on user current selection | 
|        | 
|       StockingPointCost::GetIsUniqueCost( feedback_o, | 
|                                           stockingPointCostToEdit, | 
|                                           stockingPointToEdit, | 
|                                           accountName, | 
|                                           costDriver, | 
|                                           start ); | 
|     } | 
|      | 
|     return feedback_o = ''; | 
|   *] | 
| } |