| Quintiq file version 2.0 | 
| #parent: #root | 
| Method OnOK () id:Method_DialogCreateEditPostponementSpecification_OnOK | 
| { | 
|   #keys: '[135040.0.192208574]' | 
|   Body: | 
|   [* | 
|     // When the user clicks ok,        | 
|     // we either create or edit the data | 
|     hasChangedSalesSegment := guard( selSalesSegment.Data() <> DataHolderDialogData.Data().SalesSegment_MP(),  | 
|                               false ); // Guard false for handling New and Copy  | 
|      | 
|     haspostponed := exists( DataHolderDialogData.Data().WrappedInstance(), SalesDemandInPeriod, sdip, sdip.IsPostponed() )  | 
|     this.ApplyChanges(); | 
|      | 
|     data := DataHolderDialogData.Data(); | 
|      | 
|     if( isnull( data.WrappedInstance() ) ) | 
|     { | 
|       data.Commit(); | 
|       this.Close(); | 
|     } | 
|     else | 
|     { | 
|        | 
|       if ( not ( hasChangedSalesSegment and haspostponed ) or WebMessageBox::Warning( Translations::MP_Designer_GetConfirmation_DeletePostponementSpecification(), | 
|                                                                Translations::MP_Designer_YesNo(), | 
|                                                                true ) = 0 ) | 
|       { | 
|         PostponementSpecification::Update( DataHolderDialogDatas.Data(), | 
|                                            selSalesSegment.Data(), | 
|                                            CheckBoxBatchEditHorizon.Checked(), | 
|                                            data.HorizonTimeUnit(), | 
|                                            data.HorizonNrOfTimeUnit(),        | 
|                                            CheckBoxBatchEditMaximum.Checked(), | 
|                                            data.MaxTimeUnit(), | 
|                                            data.MaxNrOfTimeUnit() | 
|                                          );                                       | 
|        | 
|        this.Close(); | 
|       } | 
|       | 
|     } | 
|   *] | 
| } |