Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        /// <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);
        }