Quintiq file version 2.0
#parent: #root
Method NewFulfillment (
  internal[GUIComponent] parent,
  Supply_MP supply,
  Demand_MP demand
) as Fulfillment id:Method_DialogCreateEditPegging_NewFulfillment
{
  #keys: '[108486.1.1171930226]'
  Body:
  [*
    // New pegging
    fulfillment := null( Fulfillment );
    
    owner := supply.ProductInStockingPointInPeriodPlanning().astype( ProductInStockingPointInPeriodPlanningLeaf );
    data := owner.NewSupplyFulfillment( relshadow );
    
    Dialog.Data( data );
    Dialog.SetDefaultValue( supply, demand );
    
    result := Dialog.DoModal( parent );
    
    if( result > 0 ) 
    {
      fulfillment := Fulfillment::Create( owner,
                                          demand,
                                          supply,
                                          data.Quantity(),
                                          true );
    }
    
    return fulfillment;
  *]
}
