public List<CSystemPolicy> GetPolicies(DataContext Context)
        {
            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);
                Policy.Attributes.Context = Context;
                this._policies.Add(Policy);
            }

            return this._policies;
        }
Exemple #2
0
        public static int CreatePolicies()
        {
            CSystemPolicy Policy = new CSystemPolicy(DatabaseContext)
            {
                ShortDescription = "Редактирование списка пользователей",
                FullDescription = "Редактирование списка пользователей",
                Name = "Редактирование списка пользователей",
                ID = Guid.Parse(CEmbeddedSecurityConsts.CONST_POLICY_EDIT_USERS_ID),
                Key = CEmbeddedSecurityConsts.CONST_POLICY_EDIT_USERS_KEY,
                ModificatonDate = DateTime.Now,                
                Parent = CEmbeddedObjectsConsts.CONST_FOLDER_POLICIES_KEY,                
                Status = EnMetaobjectStatus.EEnabled,
                System = true,
                Type = EnSystemPolicyType.ESystemDefined,
                PolicyID = Guid.Parse(CEmbeddedSecurityConsts.CONST_POLICY_EDIT_USERS_ID)
            };
            var R = Policy.ObjectInsert(DatabaseContext);
            if (R != CErrors.ERR_SUC)
                return R;

            Policy = new CSystemPolicy(DatabaseContext)
            {
                ShortDescription = "Просмотр списка пользователей",
                FullDescription = "Просмотр списка пользователей",
                Name = "Просмотр списка пользователей",
                ID = Guid.Parse(CEmbeddedSecurityConsts.CONST_POLICY_VIEW_USERS_ID),
                Key = CEmbeddedSecurityConsts.CONST_POLICY_VIEW_USERS_KEY,
                ModificatonDate = DateTime.Now,                
                Parent = CEmbeddedObjectsConsts.CONST_FOLDER_POLICIES_KEY,
                PolicyID = Guid.Parse(CEmbeddedSecurityConsts.CONST_POLICY_VIEW_USERS_ID),
                Status = EnMetaobjectStatus.EEnabled,
                System = true,
                Type = EnSystemPolicyType.ESystemDefined
            };
            R = Policy.ObjectInsert(DatabaseContext);
            if (R != CErrors.ERR_SUC)
                return R;

            Policy = new CSystemPolicy(DatabaseContext)
            {
                ShortDescription = "Редактирование списка сессий",
                FullDescription = "Редактирование списка сессий",
                Name = "Редактирование списка сессий",
                ID = Guid.Parse(CEmbeddedSecurityConsts.CONST_POLICY_EDIT_SESSIONS_ID),
                Key = CEmbeddedSecurityConsts.CONST_POLICY_EDIT_SESSIONS_KEY,
                ModificatonDate = DateTime.Now,                
                Parent = CEmbeddedObjectsConsts.CONST_FOLDER_POLICIES_KEY,
                PolicyID = Guid.Parse(CEmbeddedSecurityConsts.CONST_POLICY_EDIT_SESSIONS_ID),
                Status = EnMetaobjectStatus.EEnabled,
                System = true,
                Type = EnSystemPolicyType.ESystemDefined
            };
            R = Policy.ObjectInsert(DatabaseContext);
            if (R != CErrors.ERR_SUC)
                return R;

            Policy = new CSystemPolicy(DatabaseContext)
            {
                ShortDescription = "Просмотр списка сессий",
                FullDescription = "Просмотр списка сессий",
                Name = "Просмотр списка сессий",
                ID = Guid.Parse(CEmbeddedSecurityConsts.CONST_POLICY_VIEW_SESSIONS_ID),
                Key = CEmbeddedSecurityConsts.CONST_POLICY_VIEW_SESSIONS_KEY,
                ModificatonDate = DateTime.Now,                
                Parent = CEmbeddedObjectsConsts.CONST_FOLDER_POLICIES_KEY,
                PolicyID = Guid.Parse(CEmbeddedSecurityConsts.CONST_POLICY_VIEW_SESSIONS_ID),
                Status = EnMetaobjectStatus.EEnabled,
                System = true,
                Type = EnSystemPolicyType.ESystemDefined
            };
            R = Policy.ObjectInsert(DatabaseContext);
            if (R != CErrors.ERR_SUC)
                return R;

            Policy = new CSystemPolicy(DatabaseContext)
            {
                ShortDescription = "Редактирование списка сессий",
                FullDescription = "Редактирование списка сессий",
                Name = "Редактирование списка объектов",
                ID = Guid.Parse(CEmbeddedSecurityConsts.CONST_POLICY_EDIT_OBJECTS_ID),
                Key = CEmbeddedSecurityConsts.CONST_POLICY_EDIT_OBJECTS_KEY,
                ModificatonDate = DateTime.Now,                
                Parent = CEmbeddedObjectsConsts.CONST_FOLDER_POLICIES_KEY,
                PolicyID = Guid.Parse(CEmbeddedSecurityConsts.CONST_POLICY_EDIT_OBJECTS_ID),
                Status = EnMetaobjectStatus.EEnabled,
                System = true,
                Type = EnSystemPolicyType.ESystemDefined
            };
            R = Policy.ObjectInsert(DatabaseContext);
            if (R != CErrors.ERR_SUC)
                return R;

            Policy = new CSystemPolicy(DatabaseContext)
            {
                ShortDescription = "Просмотр списка объектов",
                FullDescription = "Просмотр списка объектов",
                Name = "Просмотр списка объектов",
                ID = Guid.Parse(CEmbeddedSecurityConsts.CONST_POLICY_VIEW_OBJECTS_ID),
                Key = CEmbeddedSecurityConsts.CONST_POLICY_VIEW_OBJECTS_KEY,
                ModificatonDate = DateTime.Now,                
                Parent = CEmbeddedObjectsConsts.CONST_FOLDER_POLICIES_KEY,
                PolicyID = Guid.Parse(CEmbeddedSecurityConsts.CONST_POLICY_VIEW_OBJECTS_ID),
                Status = EnMetaobjectStatus.EEnabled,
                System = true,
                Type = EnSystemPolicyType.ESystemDefined
            };
            R = Policy.ObjectInsert(DatabaseContext);
            if (R != CErrors.ERR_SUC)
                return R;

            Policy = new CSystemPolicy(DatabaseContext)
            {
                ShortDescription = "Просмотр списка заказов",
                FullDescription = "Просмотр списка заказов",
                Name = "Просмотр списка заказов",
                ID = Guid.Parse(CEmbeddedSecurityConsts.CONST_POLICY_VIEW_ORDERS_ID),
                Key = CEmbeddedSecurityConsts.CONST_POLICY_VIEW_ORDERS_KEY,
                ModificatonDate = DateTime.Now,                
                Parent = CEmbeddedObjectsConsts.CONST_FOLDER_POLICIES_KEY,
                PolicyID = Guid.Parse(CEmbeddedSecurityConsts.CONST_POLICY_VIEW_ORDERS_ID),
                Status = EnMetaobjectStatus.EEnabled,
                System = true,
                Type = EnSystemPolicyType.ESystemDefined
            };
            R = Policy.ObjectInsert(DatabaseContext);
            if (R != CErrors.ERR_SUC)
                return R;

            Policy = new CSystemPolicy(DatabaseContext)
            {
                ShortDescription = "Редактирование списка заказов",
                FullDescription = "Редактирование списка заказов",
                Name = "Редактирование списка заказов",
                ID = Guid.Parse(CEmbeddedSecurityConsts.CONST_POLICY_EDIT_ORDERS_ID),
                Key = CEmbeddedSecurityConsts.CONST_POLICY_EDIT_ORDERS_KEY,
                ModificatonDate = DateTime.Now,                
                Parent = CEmbeddedObjectsConsts.CONST_FOLDER_POLICIES_KEY,
                PolicyID = Guid.Parse(CEmbeddedSecurityConsts.CONST_POLICY_EDIT_ORDERS_ID),
                Status = EnMetaobjectStatus.EEnabled,
                System = true,
                Type = EnSystemPolicyType.ESystemDefined
            };
            R = Policy.ObjectInsert(DatabaseContext);
            if (R != CErrors.ERR_SUC)
                return R;

            Policy = new CSystemPolicy(DatabaseContext)
            {
                ShortDescription = "Просмотр комментариев",
                FullDescription = "Просмотр комментариев",
                Name = "Просмотр комментариев",
                ID = Guid.Parse(CEmbeddedSecurityConsts.CONST_POLICY_VIEW_COMMENTS_ID),
                Key = CEmbeddedSecurityConsts.CONST_POLICY_VIEW_COMMENTS_KEY,
                ModificatonDate = DateTime.Now,                
                Parent = CEmbeddedObjectsConsts.CONST_FOLDER_POLICIES_KEY,
                PolicyID = Guid.Parse(CEmbeddedSecurityConsts.CONST_POLICY_VIEW_COMMENTS_ID),
                Status = EnMetaobjectStatus.EEnabled,
                System = true,
                Type = EnSystemPolicyType.ESystemDefined
            };
            R = Policy.ObjectInsert(DatabaseContext);
            if (R != CErrors.ERR_SUC)
                return R;

            Policy = new CSystemPolicy(DatabaseContext)
            {
                ShortDescription = "Редактирование комментариев",
                FullDescription = "Редактирование комментариев",
                Name = "Редактирование комментариев",
                ID = Guid.Parse(CEmbeddedSecurityConsts.CONST_POLICY_EDIT_COMMENTS_ID),
                Key = CEmbeddedSecurityConsts.CONST_POLICY_EDIT_COMMENTS_KEY,
                ModificatonDate = DateTime.Now,                
                Parent = CEmbeddedObjectsConsts.CONST_FOLDER_POLICIES_KEY,
                PolicyID = Guid.Parse(CEmbeddedSecurityConsts.CONST_POLICY_EDIT_COMMENTS_ID),
                Status = EnMetaobjectStatus.EEnabled,
                System = true,
                Type = EnSystemPolicyType.ESystemDefined
            };
            R = Policy.ObjectInsert(DatabaseContext);
            if (R != CErrors.ERR_SUC)
                return R;

            try
            { DatabaseContext.SubmitChanges(); }
            catch (Exception Exception)
            {
                throw new Exception(Exception.Message);
                return CErrors.ERR_DB_INSERT_OBJECT;
            }            

            return CErrors.ERR_SUC;
        }
Exemple #3
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;
        }