public void WritePolicy(IPolicySet policySet, ICataloguePolicy cataloguePolicy)
        {
            NxParameter catalogueNameParam = new NxParameter("Name", cataloguePolicy);
            List<NxParameter> beforeRuleParams = NxUtils.GetAttributes(cataloguePolicy as IPolicy);
            beforeRuleParams.Add(catalogueNameParam);
            NxEvaluate b4Policy = new NxEvaluate("BeforeRule", beforeRuleParams);
            NxInvokeSet invokeSet = new NxInvokeSet(cataloguePolicy.Identifier.ToString());
            NxEvaluate afterPolicy = new NxEvaluate("AfterRule", catalogueNameParam);

            foreach (NxPolicySet policyset in m_policysets.PolicySets)
            {
                NxSet rulesSet = policyset.GetPolicy(new Guid("{C1C0D5EA-5B82-4607-AE41-D52739AA6AB1}"));
                if (rulesSet == null)
                {
                    rulesSet = new NxSet("C1C0D5EA-5B82-4607-AE41-D52739AA6AB1");
                    rulesSet.Append(b4Policy);
                    rulesSet.Append(invokeSet);
                    rulesSet.Append(afterPolicy);
                    policyset.Policies.Add(rulesSet);
                }
                else
                {
                    rulesSet.Append(b4Policy);
                    rulesSet.Append(invokeSet);
                    rulesSet.Append(afterPolicy);
                }
                policyset.Policies.Add(new NxSet(cataloguePolicy.Identifier.ToString()));
            }
        }
Exemple #2
0
 public NxEvaluate(string id, NxParameter arg)
 {
     Identifier = id;
     m_args = new List<NxParameter>();
     m_args.Add(arg);
 }