@@ -29,8 +29,8 @@ public class CloneFieldDefinitionsControl : MultipleConnectionsPluginControlBase
2929 private ColumnHeader columnHeader3 ;
3030 private ColumnHeader columnHeader4 ;
3131 private Button button1 ;
32- private List < EntityMetadata > _entitiesSource ;
33- private List < EntityMetadata > _entitiesTarget ;
32+ private List < EntityMetadata > _entitiesSource = new List < EntityMetadata > ( ) ;
33+ private List < EntityMetadata > _entitiesTarget = new List < EntityMetadata > ( ) ;
3434 private ColumnHeader columnHeader5 ;
3535 private Label label3 ;
3636 private TextBox txtPrefix ;
@@ -48,8 +48,6 @@ public class CloneFieldDefinitionsControl : MultipleConnectionsPluginControlBase
4848 public CloneFieldDefinitionsControl ( )
4949 {
5050 InitializeComponent ( ) ;
51- _entitiesDetailedSource = new List < EntityMetadata > ( ) ;
52- _entitiesDetailedTarget = new List < EntityMetadata > ( ) ;
5351 ConnectionUpdated += RetrieveAvailableEntities ;
5452 }
5553
@@ -77,67 +75,46 @@ private void SetAvailableEntities()
7775 } ) ;
7876 }
7977
80- private void RetrieveAvailableEntities ( object sender , ConnectionUpdatedEventArgs eventArgs )
78+ private List < EntityMetadata > RetrieveEntities ( IOrganizationService service )
8179 {
82- WorkAsync ( new WorkAsyncInfo
80+ var retrieveEntitiesRequest = new RetrieveAllEntitiesRequest
8381 {
84- Message = "Retrieving entity metadata ..." ,
85- Work = ( w , e ) =>
86- {
87- var retrieveEntitiesRequest = new RetrieveAllEntitiesRequest
88- {
89- EntityFilters = EntityFilters . Entity ,
90- RetrieveAsIfPublished = false
91- } ;
82+ EntityFilters = EntityFilters . Entity ,
83+ RetrieveAsIfPublished = false
84+ } ;
9285
93- if ( Service == null )
94- {
95- throw new Exception ( "No Service set!" ) ;
96- }
86+ if ( service == null )
87+ {
88+ throw new Exception ( "No Service set!" ) ;
89+ }
9790
98- var response = Service . Execute ( retrieveEntitiesRequest ) as RetrieveAllEntitiesResponse ;
91+ var response = service . Execute ( retrieveEntitiesRequest ) as RetrieveAllEntitiesResponse ;
9992
100- if ( response == null )
101- {
102- throw new Exception ( "Failed to retrieve entities!" ) ;
103- }
93+ if ( response == null )
94+ {
95+ throw new Exception ( "Failed to retrieve entities!" ) ;
96+ }
10497
105- _entitiesSource = response . EntityMetadata . ToList ( ) ;
106- } ,
107- PostWorkCallBack = e =>
108- {
109- SetAvailableEntities ( ) ;
110- } ,
111- AsyncArgument = null ,
112- IsCancelable = true ,
113- MessageWidth = 340 ,
114- MessageHeight = 150
115- } ) ;
98+ return response . EntityMetadata . ToList ( ) ;
99+ }
116100
101+ private void RetrieveAvailableEntities ( object sender , ConnectionUpdatedEventArgs eventArgs )
102+ {
117103 WorkAsync ( new WorkAsyncInfo
118104 {
119105 Message = "Retrieving entity metadata ..." ,
120106 Work = ( w , e ) =>
121107 {
122- var retrieveEntitiesRequest = new RetrieveAllEntitiesRequest
123- {
124- EntityFilters = EntityFilters . Entity ,
125- RetrieveAsIfPublished = false
126- } ;
108+ _entitiesSource = RetrieveEntities ( Service ) ;
127109
128- if ( Service == null )
110+ if ( AdditionalConnectionDetails . Count > 0 )
129111 {
130- throw new Exception ( "No Service set!" ) ;
112+ _entitiesTarget = RetrieveEntities ( GetTargetService ( ) ) ;
131113 }
132-
133- var response = GetTargetService ( ) . Execute ( retrieveEntitiesRequest ) as RetrieveAllEntitiesResponse ;
134-
135- if ( response == null )
114+ else
136115 {
137- throw new Exception ( "Failed to retrieve entities!" ) ;
116+ _entitiesTarget = _entitiesSource ;
138117 }
139-
140- _entitiesTarget = response . EntityMetadata . ToList ( ) ;
141118 } ,
142119 PostWorkCallBack = e =>
143120 {
@@ -738,7 +715,7 @@ protected override void ConnectionDetailsUpdated(NotifyCollectionChangedEventArg
738715 {
739716 _entitiesDetailedTarget = new List < EntityMetadata > ( ) ;
740717 RetrieveAvailableEntities ( null , null ) ;
741- button2 . Text = $ "Target Org: { ( AdditionalConnectionDetails . Count > 0 ? AdditionalConnectionDetails [ 0 ] . Organization : "Source" ) } ";
718+ button2 . Text = $ "Target Org: { ( AdditionalConnectionDetails != null && AdditionalConnectionDetails . Count > 0 ? AdditionalConnectionDetails [ 0 ] . Organization : "Source" ) } ";
742719 }
743720
744721 private void button2_Click ( object sender , EventArgs e )
0 commit comments