Пример #1
0
 private static DataTable RemoveNonRequiredColumns(DataTable table)
 {
     for (int i = table.Columns.Count - 1; i >= 0; i--)
     {
         DataColumn column = table.Columns[i];
         if (!ObjectPicker.GetIsRequiredDataColumnFlag(column))
         {
             table.Columns.Remove(column);
         }
     }
     return(table);
 }
Пример #2
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);
        }
Пример #3
0
 internal static void SetIsRequiredDataColumnFlag(DataColumn column, bool isRequiredDataColumn)
 {
     if (column == null)
     {
         throw new ArgumentNullException("column");
     }
     if (ObjectPicker.GetIsRequiredDataColumnFlag(column) != isRequiredDataColumn)
     {
         if (isRequiredDataColumn)
         {
             column.ExtendedProperties.Add(ObjectPicker.RequiredDataColumnFlag, null);
             return;
         }
         column.ExtendedProperties.Remove(ObjectPicker.RequiredDataColumnFlag);
     }
 }
Пример #4
0
        private void addObjectCommand_Execute(object sender, EventArgs e)
        {
            ObjectPicker objectPicker = this.ObjectPickerForEdit ?? this.ObjectPicker;

            if (objectPicker.ShowDialog() == DialogResult.OK && !this.IsResolving)
            {
                if (base.DataListView.DataSource is DataTable)
                {
                    DataTable dataTable = (DataTable)base.DataListView.DataSource;
                    dataTable.Merge(objectPicker.SelectedObjects);
                }
                else
                {
                    base.DataListView.DataSource = objectPicker.SelectedObjects.Copy();
                }
                this.ExtractChangedObjects(objectPicker.SelectedObjects.Rows);
                this.AddToIdentityList(this.changedObjects.Keys);
            }
        }
Пример #5
0
        public TreeViewObjectPickerForm(ObjectPicker objectPicker) : this()
        {
            this.ObjectPicker = objectPicker;
            DataTableLoader dataTableLoader = this.ObjectPicker.DataTableLoader;

            this.resultDataTable = dataTableLoader.Table.Clone();
            this.rootNodes       = new BindingList <TreeViewObjectPickerForm.DataTreeNodeModel>();
            this.queryResults    = dataTableLoader.Table;
            this.resultTreeView.LazyExpandAll = true;
            this.resultTreeView.ImageList     = ObjectPicker.ObjectClassIconLibrary.SmallImageList;
            this.resultTreeView.DataSource    = this.rootNodes;
            this.resultTreeView.NodePropertiesMapping.Add("Text", "Name");
            this.resultTreeView.NodePropertiesMapping.Add("ImageKey", "ImageKey");
            this.resultTreeView.NodePropertiesMapping.Add("SelectedImageKey", "ImageKey");
            this.resultTreeView.ChildRelation = "Children";
            base.Load += delegate(object param0, EventArgs param1)
            {
                this.RetriveChildrenNodes(null);
            };
            this.resultTreeView.BeforeExpand += this.resultTreeView_BeforeExpand;
            this.resultTreeView.AfterSelect  += this.resultTreeView_AfterSelect;
        }
Пример #6
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);
        }
Пример #7
0
 private void MarkNonOptionalColumnsAsRequiredColumn(DataTable dataTable)
 {
     bool[] array = new bool[dataTable.Columns.Count];
     foreach (ExchangeColumnHeader exchangeColumnHeader in this.CreateColumnHeaders())
     {
         if (!exchangeColumnHeader.Default && dataTable.Columns.Contains(exchangeColumnHeader.Name))
         {
             int ordinal = dataTable.Columns[exchangeColumnHeader.Name].Ordinal;
             array[ordinal] = true;
         }
     }
     foreach (object obj in dataTable.Columns)
     {
         DataColumn dataColumn = (DataColumn)obj;
         if (!array[dataColumn.Ordinal])
         {
             ObjectPicker.SetIsRequiredDataColumnFlag(dataColumn, true);
         }
     }
     foreach (DataColumn column in dataTable.PrimaryKey)
     {
         ObjectPicker.SetIsRequiredDataColumnFlag(column, true);
     }
 }
Пример #8
0
 public ObjectResolver(ObjectPicker objectPicker)
 {
     this.loader = objectPicker.CreateDataTableLoaderForResolver();
     this.loader.RefreshCompleted += this.loader_RefreshCompleted;
 }
Пример #9
0
 public ModifyScopeSettingsControl(ObjectPicker picker) : this()
 {
     this.Text        = Strings.ModifyScopeSettingsControlTitle;
     this.Description = Strings.ModifyScopeSettingsControlDescription;
     this.ShouldScopingWithinDefaultDomainScope = picker.ShouldScopingWithinDefaultDomainScope;
 }
Пример #10
0
 public DataTreeNodeModel(DataRow dataRow, ObjectPicker objectPicker)
 {
     this.InnerDataRow = dataRow;
     this.ObjectPicker = objectPicker;
 }
Пример #11
0
 public ObjectPickerForm(ObjectPicker objectPicker) : this()
 {
     this.ObjectPicker = objectPicker;
 }