Esempio n. 1
0
        public ExtendedItem[][] QueryItemsExtended(string workspaceName, string workspaceOwner,
                                                   ItemSpec[] itemSpecs,
                                                   DeletedState deletedState, ItemType itemType)
        {
            Message msg = new Message(GetWebRequest(new Uri(Url)), "QueryItemsExtended");

            if (!String.IsNullOrEmpty(workspaceName))
            {
                msg.Body.WriteElementString("workspaceName", workspaceName);
            }
            if (!String.IsNullOrEmpty(workspaceOwner))
            {
                msg.Body.WriteElementString("workspaceOwner", workspaceOwner);
            }

            msg.Body.WriteStartElement("items");
            foreach (ItemSpec itemSpec in itemSpecs)
            {
                itemSpec.ToXml(msg.Body, "ItemSpec");
            }
            msg.Body.WriteEndElement();

            msg.Body.WriteElementString("deletedState",
                                        deletedState.ToString());
            msg.Body.WriteElementString("itemType",
                                        itemType.ToString());

            List <ExtendedItem[]> listOfItemArrays = new List <ExtendedItem[]>();

            using (HttpWebResponse response = Invoke(msg))
            {
                XmlReader results = msg.ResponseReader(response);
                while (results.Read())
                {
                    if (results.NodeType == XmlNodeType.Element &&
                        results.Name == "ArrayOfExtendedItem")
                    {
                        List <ExtendedItem> items = new List <ExtendedItem>();
                        while (results.Read())
                        {
                            //Console.WriteLine("	 " + results.Name + ":" + results.NodeType);
                            if (results.NodeType == XmlNodeType.EndElement &&
                                results.Name == "ArrayOfExtendedItem")
                            {
                                break;
                            }
                            if (results.NodeType == XmlNodeType.Element &&
                                results.Name == "ExtendedItem")
                            {
                                items.Add(ExtendedItem.FromXml(this, results));
                            }
                        }
                        listOfItemArrays.Add(items.ToArray());
                    }
                }
            }

            return(listOfItemArrays.ToArray());
        }
Esempio n. 2
0
        //<ExtendedItem lver="int" did="int" latest="int"
        //type="Any or Folder or File" enc="int" itemid="int"
        //local="string" titem="string" sitem="string"
        //chg="None or Add or Edit or Encoding or Rename or Delete or Undelete or Branch or Merge or Lock"
        //ochg="boolean" lock="None or Checkin or CheckOut or Unchanged"
        //lowner="string" />

        internal static ExtendedItem FromXml(Repository repository, XmlReader reader)
        {
            ExtendedItem item = new ExtendedItem();

            string chg = reader.GetAttribute("chg");

            if (!String.IsNullOrEmpty(chg))
            {
                item.changeType = (ChangeType)Enum.Parse(typeof(ChangeType), chg, true);
            }

            string ochg = reader.GetAttribute("ochg");

            if (!String.IsNullOrEmpty(ochg))
            {
                item.hasOtherPendingChange = bool.Parse(ochg);
            }

            string xlock = reader.GetAttribute("lock");

            if (!String.IsNullOrEmpty(xlock))
            {
                item.lockStatus = (LockLevel)Enum.Parse(typeof(LockLevel), xlock, true);
            }

            item.lockOwner        = reader.GetAttribute("lowner");
            item.localItem        = TfsPath.ToPlatformPath(reader.GetAttribute("local"));
            item.targetServerItem = reader.GetAttribute("titem");
            item.sourceServerItem = reader.GetAttribute("sitem");

            item.itemType      = (ItemType)Enum.Parse(typeof(ItemType), reader.GetAttribute("type"), true);
            item.itemId        = Convert.ToInt32(reader.GetAttribute("itemid"));
            item.encoding      = Convert.ToInt32(reader.GetAttribute("enc"));
            item.versionLocal  = Convert.ToInt32(reader.GetAttribute("lver"));
            item.versionLatest = Convert.ToInt32(reader.GetAttribute("latest"));
            item.deletionId    = Convert.ToInt32(reader.GetAttribute("did"));

            return(item);
        }
Esempio n. 3
0
        //<ExtendedItem lver="int" did="int" latest="int"
        //type="Any or Folder or File" enc="int" itemid="int"
        //local="string" titem="string" sitem="string"
        //chg="None or Add or Edit or Encoding or Rename or Delete or Undelete or Branch or Merge or Lock"
        //ochg="boolean" lock="None or Checkin or CheckOut or Unchanged"
        //lowner="string" />
        internal static ExtendedItem FromXml(Repository repository, XmlReader reader)
        {
            ExtendedItem item = new ExtendedItem();

            string chg = reader.GetAttribute("chg");
            if (!String.IsNullOrEmpty(chg)) item.changeType = (ChangeType) Enum.Parse(typeof(ChangeType), chg, true);

            string ochg = reader.GetAttribute("ochg");
            if (!String.IsNullOrEmpty(ochg)) item.hasOtherPendingChange = bool.Parse(ochg);

            string xlock = reader.GetAttribute("lock");
            if (!String.IsNullOrEmpty(xlock)) item.lockStatus = (LockLevel) Enum.Parse(typeof(LockLevel), xlock, true);

            item.lockOwner = reader.GetAttribute("lowner");
            item.localItem = TfsPath.ToPlatformPath(reader.GetAttribute("local"));
            item.targetServerItem = reader.GetAttribute("titem");
            item.sourceServerItem = reader.GetAttribute("sitem");

            item.itemType = (ItemType) Enum.Parse(typeof(ItemType), reader.GetAttribute("type"), true);
            item.itemId = Convert.ToInt32(reader.GetAttribute("itemid"));
            item.encoding = Convert.ToInt32(reader.GetAttribute("enc"));
            item.versionLocal = Convert.ToInt32(reader.GetAttribute("lver"));
            item.versionLatest = Convert.ToInt32(reader.GetAttribute("latest"));
            item.deletionId = Convert.ToInt32(reader.GetAttribute("did"));

            return item;
        }