/// <summary> /// 获得相同表的相同字段的的所有相同值 /// </summary> /// <param name="dataPermission"></param> /// <returns></returns> public DatasPermission Intersect(DatasPermission datasPermission) { DataPermissionCollection Result = new DataPermissionCollection(); if (this.Caption == datasPermission.Caption) { foreach (DataPermission thisData in this.Conditions) { foreach (DataPermission data in datasPermission.Conditions) { DataPermission datapermission = thisData.Intersect(data); if (datapermission != null) { Result.Add(datapermission); } } } } if (Result.Count > 0) { DatasPermission data = new DatasPermission(); data.Caption = this.Caption; foreach (DataPermission d in Result) { data.Conditions.Add(d); } return(data); } return(null); }
/// <summary> /// 获得相同字段的所有相同值 /// </summary> /// <param name="dataPermission"></param> /// <returns></returns> public DataPermission Intersect(DataPermission dataPermission) { List <string> list = new List <string>(); if (this.m_FieldName == dataPermission.m_FieldName) { for (int i = 0; i < this.Values.Count; i++) { if (this.Values.Contains(dataPermission.Values[i])) { list.Add(dataPermission.Values[i]); } } } if (list.Count > 0) { DataPermission data = new DataPermission(); data.FieldName = this.FieldName; data.Values.AddRange(list); return(data); } return(null); }