public PolicyAddedEventArgs(ItemPolicy policy) { if (policy == null) { throw new ArgumentNullException("policy"); } this._policy = policy; }
internal bool Contains(ItemPolicy policy) { for (PolicyDrivenFeatureConnector <TFeatureProviderType> .PolicyNode policyNode = this; policyNode != null; policyNode = policyNode._next) { if (policyNode._policy == policy) { return(true); } } return(false); }
private IList <TFeatureProviderType> CreateFeatureProviders(ModelItem item, ItemPolicy policy, List <PolicyDrivenFeatureConnector <TFeatureProviderType> .ProviderData> dataList) { UsesItemPolicyAttribute requiredPolicy = new UsesItemPolicyAttribute(policy.GetType()); Predicate <Type> match = (Predicate <Type>)(featureProviderType => { foreach (UsesItemPolicyAttribute itemPolicyAttribute in this.Manager.GetCustomAttributes(featureProviderType, typeof(UsesItemPolicyAttribute))) { if (itemPolicyAttribute.Equals((object)requiredPolicy) && new RequirementValidator(this.Manager, featureProviderType).MeetsRequirements) { if (dataList != null) { foreach (PolicyDrivenFeatureConnector <TFeatureProviderType> .ProviderData providerData in dataList) { if (providerData.Provider.GetType() == featureProviderType) { if (providerData.AssociatedPolicies == null || !providerData.AssociatedPolicies.Contains(policy)) { providerData.AssociatedPolicies = new PolicyDrivenFeatureConnector <TFeatureProviderType> .PolicyNode(policy, providerData.AssociatedPolicies); } return(false); } } } return(true); } } return(false); }); List <TFeatureProviderType> list = new List <TFeatureProviderType>(); if (!policy.IsSurrogate) { foreach (TFeatureProviderType featureProviderType in FeatureExtensions.CreateFeatureProviders(this.Manager, typeof(TFeatureProviderType), item, match)) { list.Add(featureProviderType); } } else { foreach (ModelItem modelItem in policy.GetSurrogateItems(item)) { foreach (TFeatureProviderType featureProviderType in FeatureExtensions.CreateFeatureProviders(this.Manager, typeof(TFeatureProviderType), modelItem, match)) { list.Add(featureProviderType); } } } return((IList <TFeatureProviderType>)list); }
public PolicyItemsChangedEventArgs(ItemPolicy policy, IEnumerable <ModelItem> itemsAdded, IEnumerable <ModelItem> itemsRemoved) { if (policy == null) { throw new ArgumentNullException("policy"); } this._policy = policy; this._itemsAdded = itemsAdded; this._itemsRemoved = itemsRemoved; if (this._itemsAdded == null) { this._itemsAdded = (IEnumerable <ModelItem>) new ModelItem[0]; } if (this._itemsRemoved != null) { return; } this._itemsRemoved = (IEnumerable <ModelItem>) new ModelItem[0]; }
internal static bool Remove(ref PolicyDrivenFeatureConnector <TFeatureProviderType> .PolicyNode root, ItemPolicy policy) { PolicyDrivenFeatureConnector <TFeatureProviderType> .PolicyNode policyNode1 = (PolicyDrivenFeatureConnector <TFeatureProviderType> .PolicyNode)null; for (PolicyDrivenFeatureConnector <TFeatureProviderType> .PolicyNode policyNode2 = root; policyNode2 != null; policyNode2 = policyNode2._next) { if (policyNode2._policy == policy) { if (policyNode1 != null) { policyNode1._next = policyNode2._next; return(true); } root = policyNode2._next; return(true); } policyNode1 = policyNode2; } return(false); }
internal PolicyNode(ItemPolicy policy, PolicyDrivenFeatureConnector <TFeatureProviderType> .PolicyNode next) { this._policy = policy; this._next = next; }