示例#1
0
        internal static ClaimsProvider Load(Policy policy, string path, XElement node, ObjectIndex references)
        {
            ClaimsProvider item = new ClaimsProvider(path, node, references, policy);

            // fill data
            item.TechnicalProfiles = new List <TechnicalProfile>();
            foreach (var step in item.XmlNode.Element(PolicyItem.ns + "TechnicalProfiles").Elements(PolicyItem.ns + "TechnicalProfile"))
            {
                item.TechnicalProfiles.Add(TechnicalProfile.Load(item, path, step, references));
            }
            return(item);
        }
示例#2
0
        internal static TechnicalProfile Load(PolicyItem parent, string path, XElement node, ObjectIndex references)
        {
            TechnicalProfile item = new TechnicalProfile(path, node, node.Attribute("Id").Value, references, parent);

            // fill data
            item.OutputClaims = new List <Claim>();
            if (item.XmlNode.Element(PolicyItem.ns + "OutputClaims") != null)
            {
                foreach (var claim in item.XmlNode.Element(PolicyItem.ns + "OutputClaims").Elements(PolicyItem.ns + "OutputClaim"))
                {
                    item.OutputClaims.Add(PolicyItem.Load <Claim>(item, path, claim, references));
                }
            }

            item.InputClaims = new List <Claim>();
            if (item.XmlNode.Element(PolicyItem.ns + "InputClaims") != null)
            {
                foreach (var claim in item.XmlNode.Element(PolicyItem.ns + "InputClaims").Elements(PolicyItem.ns + "InputClaim"))
                {
                    item.InputClaims.Add(PolicyItem.Load <Claim>(item, path, claim, references));
                }
            }
            return(item);
        }
示例#3
0
 public Claim(string filePath, XElement node, string id, ObjectIndex references, TechnicalProfile parent)
     : base(filePath, node, id, references, parent)
 {
     ClaimTypeReferenceId = new Reference <Claim>(this, XmlNode.Attribute("ClaimTypeReferenceId").Value, references);
 }