Ejemplo n.º 1
0
        public ItemSecurity[] QueryItemPermissions(string[] identityNames, string[] items,
                                                   RecursionType recursion)
        {
            Message msg = new Message(GetWebRequest(new Uri(Url)), "QueryItemPermissions");

            msg.Body.WriteStartElement("itemSpecs");
            foreach (string item in items)
            {
                ItemSpec spec = new ItemSpec(item, recursion);
                spec.ToXml(msg.Body, "ItemSpec");
            }
            msg.Body.WriteEndElement();

            List <ItemSecurity> itemSecurities = new List <ItemSecurity>();

            using (HttpWebResponse response = Invoke(msg))
            {
                XmlReader results = msg.ResponseReader(response);

                while (results.Read())
                {
                    if (results.NodeType == XmlNodeType.Element &&
                        results.Name == "ItemSecurity")
                    {
                        itemSecurities.Add(ItemSecurity.FromXml(this, results));
                    }
                }
            }

            return(itemSecurities.ToArray());
        }