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; }
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; }
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; }