/// <summary>
        /// Converts the alerts XML to a object
        /// </summary>
        /// <returns>The checkin details</returns>
        public CheckInAlertDetails GetCheckInDetails()
        {
            var returnValue = new CheckInAlertDetails();

            returnValue.Comment   = eventJson["resource"]["comment"].ToString();
            returnValue.Changeset = Convert.ToInt32(eventJson["resource"]["changesetId"]);

            returnValue.Summary   = eventJson["message"]["text"].ToString();
            returnValue.Committer = eventJson["resource"]["author"]["displayName"].ToString();
            //TeamProject = node.SelectSingleNode("TeamProject").InnerText,
            return(returnValue);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Converts the alerts XML to a object
        /// </summary>
        /// <param name="alertMessage">The xml message</param>
        /// <returns>The checkin details</returns>
        internal static CheckInAlertDetails GetCheckInDetails(string alertMessage)
        {
            var doc = new XmlDocument();

            doc.LoadXml(alertMessage);

            var node = doc.SelectSingleNode("/CheckinEvent");

            var returnValue = new CheckInAlertDetails()
            {
                Summary     = node.SelectSingleNode("Title").InnerText,
                Committer   = node.SelectSingleNode("Committer").InnerText,
                TeamProject = node.SelectSingleNode("TeamProject").InnerText,
                Comment     = node.SelectSingleNode("Comment").InnerText,
            };

            foreach (XmlNode innernode in doc.SelectNodes("/CheckinEvent/Artifacts/Artifact[@ArtifactType='VersionedItem']"))
            {
                returnValue.Changeset = int.Parse(innernode.Attributes["ItemRevision"].InnerText);

                switch (innernode.Attributes["ChangeType"].InnerText)
                {
                case "edit":
                    returnValue.FilesEdited.Add(innernode.Attributes["Item"].InnerText);
                    break;

                case "add":
                    returnValue.FilesAdded.Add(innernode.Attributes["Item"].InnerText);
                    break;

                case "delete":
                    returnValue.FilesDeleted.Add(innernode.Attributes["Item"].InnerText);
                    break;
                }
            }

            return(returnValue);
        }