/// <summary> /// 填充数据行 /// </summary> /// <param name="dr"></param> internal void FillDataRow(DataRow dr) { DomainOrganizationUnit ou = this; dr[DomainOrganizationUnitPropertities.Name] = ou.Name; dr[DomainOrganizationUnitPropertities.Path] = ou.Path; dr[DomainOrganizationUnitPropertities.ParentName] = ou.ParentName; dr[DomainOrganizationUnitPropertities.ParentPath] = ou.ParentPath; dr[DomainOrganizationUnitPropertities.Manager] = ou.Manager; dr[DomainOrganizationUnitPropertities.ManagerPath] = ou.ManagerPath; }
/// <summary> /// 把当前组织单元和用户集合转换成数据表 /// </summary> public DataTable ToDataTable() { DataTable dtOUSchema = DomainOrganizationUnit.ToDataTableSchema(); DataTable dtUserSchema = DomainUser.ToDataTableSchema(); DataTable dtResult = new DataTable(); dtResult.TableName = "组织单元用户表"; foreach (DataColumn col in dtOUSchema.Columns) { col.ColumnName = "OU_" + col.ColumnName; dtResult.Columns.Add(new DataColumn() { ColumnName = col.ColumnName, Caption = col.Caption }); } foreach (DataColumn col in dtUserSchema.Columns) { col.ColumnName = "USER_" + col.ColumnName; dtResult.Columns.Add(new DataColumn() { ColumnName = col.ColumnName, Caption = col.Caption }); } foreach (DomainOrganizationUnitUser ouUser in List) { DataTable dtResultTemp = dtResult.Clone(); DataTable dtOU = ouUser.OU.ToDataTable(); DataTable dtUsers = ouUser.Users.ToDataTable(); if (dtUsers.Rows.Count == 0) { continue; } foreach (DataRow drUser in dtUsers.Rows) { DataRow drNew = dtResultTemp.NewRow(); foreach (DataRow drOU in dtOU.Rows) { foreach (DataColumn col in dtOU.Columns) { drNew["OU_" + col.ColumnName] = drOU[col]; } } foreach (DataColumn col in dtUsers.Columns) { drNew["USER_" + col.ColumnName] = drUser[col]; } dtResultTemp.Rows.Add(drNew); } dtResult.Merge(dtResultTemp); } return(dtResult); }