| Quintiq file version 2.0 | 
| #parent: #root | 
| Method CreateCampaignAndResequence ( | 
|   internal[GUIComponent] parent, | 
|   CampaignType_MP campaigntype, | 
|   Unit owner, | 
|   Campaign_MP targetcampaign, | 
|   Transition_MP transition, | 
|   DateTime droptime | 
| ) as Campaign_MP id:Method_DialogCreateEditCampaign_MP_CreateCampaignAndResequence | 
| { | 
|   #keys: '[149260.0.934786925]' | 
|   Accessibility: 'Extensible' | 
|   Body: | 
|   [* | 
|     // New campaign | 
|      | 
|     if( isnull( campaigntype ) ) | 
|     { | 
|       campaigntype := Campaign_MP::GetDefaultCampaignType( owner ); | 
|     } | 
|      | 
|     data := owner.Campaign_MP( relshadow, UnitID := owner.ID(),  | 
|                                           InputType := campaigntype.InputType(), | 
|                                           CampaignID := "" );// Temporary set CampaignID to empty, will be set during campaign creation | 
|     Dialog.Data( data );  | 
|     Dialog.SetDefaultValue( campaigntype ); | 
|     Dialog.InitializeDialog(); | 
|     this.SetIndicatorValue(); | 
|      | 
|     result := Dialog.DoModal( parent ); | 
|     newobj := null( Campaign_MP ); | 
|      | 
|     if( result > 0 ) | 
|     { | 
|       campaignid := OS::GenerateGUIDAsString(); | 
|       newobj := Campaign_MP::CreateAndResequence( owner, | 
|                                                   data.EarliestStart(), | 
|                                                   data.SequenceNumberForExcel(), | 
|                                                   data.MinQuantity(), | 
|                                                   data.MaxQuantity(), | 
|                                                   data.MinDuration(), | 
|                                                   data.MaxDuration(), | 
|                                                   SelectionCampaignType.Data().Name(), | 
|                                                   campaignid, | 
|                                                   data.Comment(), | 
|                                                   data.HasInputMaxQuantity() and RadioButtonGroupQuantityDuration.BoundValue() = GlobalParameters_MP::GetCampaignTransitionsTypeQuantity(), | 
|                                                   data.HasInputMaxDuration() and RadioButtonGroupQuantityDuration.BoundValue() = GlobalParameters_MP::GetCampaignTransitionsTypeDuration(), | 
|                                                   false, | 
|                                                   targetcampaign, | 
|                                                   transition, | 
|                                                   droptime); | 
|     } | 
|     return newobj; | 
|   *] | 
|   UseInheritedAccessibility: false | 
| } |