Example #1
0
        public List<CSystemPolicy> GetPolicies(DataContext Context)
        {
            this._policies.Clear();

            var Links = cMenu.Metaobjects.Linq.CMetaobjectLink.sGetInternalLinksByClass(this._key, EnMetaobjectClass.ESystemPolicy, Context);
            foreach (cMenu.Metaobjects.Linq.CMetaobjectLink Link in Links)
            {
                CSystemPolicy Policy = new CSystemPolicy(Link.LinkedObjectKey, Context);
                this._policies.Add(Policy);
            }

            Links = cMenu.Metaobjects.Linq.CMetaobjectLink.sGetExternalLinksByClass(this._key, EnMetaobjectClass.ESystemUserGroup, Context);
            foreach (cMenu.Metaobjects.Linq.CMetaobjectLink Link in Links)
            {
                CSystemUserGroup Group = new CSystemUserGroup(Context);
                Group.Key = Link.SourceObjectKey;
                Group.GetPolicies(Context);
                foreach (CSystemPolicy Policy in Group.Policies)
                {
                    if (this._policies.Where(P => P.ID.ToString() == Policy.ID.ToString()).ToList().Count == 0)
                        this._policies.Add(Policy);
                }
            }
            return this._policies;
        }