Quintiq file version 2.0
#parent: #root
Method EditInventoryValueAndCostShadow (
  internal[GUIComponent] parent,
  structured[shadow[InventoryValueAndCost]] selection
) id:Method_DialogCreateEditInventoryValueAndCost_EditInventoryValueAndCostShadow
{
  #keys: '[127238.0.1834067305]'
  Body:
  [*
    // Edit shadow inventory value and costs
    isbatchedit := selection.Size() > 1;
    data := selection.Element(0);
    
    pisp := selection.Element( 0 ).ProductInStockingPoint_MP();
    stockingpoint :=  selection.Element( 0 ).StockingPoint_MP();
    
    Dialog.Data( data );
    
    // Enable / disable primary keys when batch editing
    Dialog.EnableDisableComponentsForBatchEdit( isbatchedit );
    Dialog.SetHolders( stockingpoint.Currency_MP(), pisp.UnitOfMeasure_MP() );
    Dialog.DataHolderProduct().Data( pisp.Product_MP() );
    Dialog.DataHolderStockingPoint().Data( stockingpoint );
    Dialog.SetValueForStringSelections( InventoryValueAndCost::GetDefinitionName() );
    
    result := this.DoModal( parent );
    
    if( result > 0 )
    {
      if( not isbatchedit )
      {
        data.Commit();
      }
      else
      {
        // Only allows batch edit cost
        cost := ApplicationLibMacroPlanner.FormatStringToReal( EditorCost.Text() );
        Dialog.UpdateShadowCost( selection, cost );
      }
    }
  *]
}
