Пример #1
0
        internal virtual DataTableLoader CreateDataTableLoaderForResolver()
        {
            DataTableLoader dataTableLoader = this.CreateDataTableLoader();

            if (dataTableLoader.Table != null && this.ObjectPickerProfile == null)
            {
                this.MarkNonOptionalColumnsAsRequiredColumn(dataTableLoader.Table);
                ObjectPicker.RemoveNonRequiredColumns(dataTableLoader.Table);
            }
            if (dataTableLoader.RefreshArgument != null)
            {
                dataTableLoader.RefreshArgument = (ICloneable)dataTableLoader.ResultsLoaderProfile.CloneWithSharedInputTable();
            }
            return(dataTableLoader);
        }
Пример #2
0
        protected override DataTable GetSelectedObjects(IntPtr hwndOwner)
        {
            this.ResetScopeSetting();
            DataTable result;

            using (Form form = this.CreateObjectPickerForm())
            {
                if (base.Container != null)
                {
                    base.Container.Add(form, form.Name + form.GetHashCode());
                }
                IUIService iuiservice = (IUIService)this.GetService(typeof(IUIService));
                if (iuiservice == null)
                {
                    iuiservice = new UIService(new Win32Window(hwndOwner));
                }
                DataTable dataTable = null;
                if (DialogResult.OK == iuiservice.ShowDialog(form))
                {
                    DataTable selectedObjects = ((ISelectedObjectsProvider)form).SelectedObjects;
                    if (this.ObjectPickerProfile == null)
                    {
                        dataTable = ObjectPicker.RemoveNonRequiredColumns(selectedObjects);
                    }
                    else
                    {
                        dataTable = selectedObjects;
                    }
                }
                if (base.Container != null)
                {
                    base.Container.Remove(form);
                }
                result = dataTable;
            }
            return(result);
        }