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())); } }
public NxEvaluate(string id, NxParameter arg) { Identifier = id; m_args = new List<NxParameter>(); m_args.Add(arg); }