private void LoadEntity() { if (entityListView.SelectedItems.Count == 0) { return; } var emd = new EntityMetadataInfo((EntityMetadata)entityListView.SelectedItems[0].Tag); WorkAsync(new WorkAsyncInfo { Message = "Loading Entity...", AsyncArgument = emd, Work = (bw, e) => { var request = new RetrieveEntityRequest { EntityFilters = EntityFilters.All, LogicalName = ((EntityMetadataInfo)e.Argument).LogicalName }; var response = (RetrieveEntityResponse)Service.Execute(request); e.Result = response.EntityMetadata; }, PostWorkCallBack = e => { var emdFull = (EntityMetadata)e.Result; TabPage tab; if (mainTabControl.TabPages.ContainsKey(emd.SchemaName)) { tab = mainTabControl.TabPages[emd.SchemaName]; ((EntityPropertiesControl)tab.Controls[0]).RefreshContent(emdFull); } else { mainTabControl.TabPages.Add(emd.SchemaName, emd.SchemaName); tab = mainTabControl.TabPages[emd.SchemaName]; var epc = new EntityPropertiesControl(emdFull, lvcSettings, ConnectionDetail) { Dock = DockStyle.Fill, Name = emdFull.SchemaName }; epc.OnSelectedTabChanged += (s, evt2) => { mainTabControl_SelectedIndexChanged(mainTabControl, new EventArgs()); }; epc.OnColumnSettingsUpdated += epc_OnColumnSettingsUpdated; tab.Controls.Add(epc); mainTabControl.SelectTab(tab); } } }); }
private void LoadEntity() { if (entityListView.SelectedItems.Count == 0) { return; } var emd = new EntityMetadataInfo((EntityMetadata)entityListView.SelectedItems[0].Tag); WorkAsync("Loading Entity...", dwe => { var request = new RetrieveEntityRequest { EntityFilters = EntityFilters.All, LogicalName = ((EntityMetadataInfo)dwe.Argument).LogicalName }; var response = (RetrieveEntityResponse)Service.Execute(request); dwe.Result = response.EntityMetadata; }, wce => { var emdFull = (EntityMetadata)wce.Result; TabPage tab; if (mainTabControl.TabPages.ContainsKey(emd.SchemaName)) { tab = mainTabControl.TabPages[emd.SchemaName]; ((EntityPropertiesControl)tab.Controls[0]).RefreshContent(emdFull); } else { mainTabControl.TabPages.Add(emd.SchemaName, emd.SchemaName); tab = mainTabControl.TabPages[emd.SchemaName]; var epc = new EntityPropertiesControl(emdFull, lvcSettings) { Dock = DockStyle.Fill, Name = emdFull.SchemaName }; epc.OnColumnSettingsUpdated += epc_OnColumnSettingsUpdated; tab.Controls.Add(epc); mainTabControl.SelectTab(tab); } }, emd); }