Пример #1
0
        public void UpdateTicket(TracTicket tracTicket)
        {
            object[] ticketData = this.ticketClient.UpdateTicket(
                tracTicket.ID,
                string.Empty,
                new
            {
                action               = "leave",
                businessvalue        = tracTicket.BusinessValue.GetXMLRPCString(),
                component            = tracTicket.Component.GetXMLRPCString(),
                configsettings       = tracTicket.ConfigurationSettings.GetXMLRPCString(),
                description          = tracTicket.Description.GetXMLRPCString(),
                feature_branch       = tracTicket.FeatureBranch.GetXMLRPCString(),
                howtoqa              = tracTicket.HowToQA.GetXMLRPCString(),
                setupnotes           = tracTicket.InstallationNotes.GetXMLRPCString(),
                milestone            = tracTicket.Milestone.GetXMLRPCString(),
                owner                = tracTicket.Owner.GetXMLRPCString(),
                parents              = tracTicket.ParentTicketID.GetXMLRPCString(),
                priority             = TracTypeConverters.TicketPriorityConverter.ConvertToSource(tracTicket.Priority),
                qaby                 = tracTicket.QaBY.GetXMLRPCString(),
                estimatedhours       = tracTicket.Remaining.GetXMLRPCString(),
                reporter             = tracTicket.Reporter.GetXMLRPCString(),
                sprintassignment     = tracTicket.SprintAssignment.GetXMLRPCString(),
                sprintteam           = tracTicket.SprintTeam.GetXMLRPCString(),
                status               = TracTypeConverters.TicketStatusConverter.ConvertToSource(tracTicket.Status),
                statusupdatetext     = TracTypeConverters.TicketStatusUpdatesConverter.ConvertToSource(tracTicket.StatusUpdates),
                summary              = tracTicket.Summary.GetXMLRPCString(),
                targetversion        = tracTicket.TargetVersion.GetXMLRPCString(),
                technotes            = tracTicket.TechnicalNotes.GetXMLRPCString(),
                testplanreviewedprog = TracTypeConverters.BooleanTracConverter.ConvertToSource(tracTicket.TestPlanReviewed),
                totalhours           = tracTicket.TotalHours.GetXMLRPCString()
            });

            ParseTracTicket(tracTicket, ticketData);
        }
Пример #2
0
        private static void ParseTracTicket(TracTicket targetTicket, object[] ticketData)
        {
            int          ticketID   = (int)ticketData[0];
            DateTime     created    = (DateTime)ticketData[1];
            DateTime     updated    = (DateTime)ticketData[2];
            XmlRpcStruct attributes = (XmlRpcStruct)ticketData[3];

            targetTicket.BusinessValue         = attributes.GetValue <decimal?>("businessvalue");
            targetTicket.Changed               = updated;
            targetTicket.ChangeTime            = attributes.GetValue <DateTime>("changetime").ToLocalTime();
            targetTicket.Component             = attributes.GetValue <string>("component");
            targetTicket.ConfigurationSettings = attributes.GetValue <string>("configsettings");
            targetTicket.Created               = created;
            targetTicket.Description           = attributes.GetValue <string>("description");
            targetTicket.FeatureBranch         = attributes.GetValue <string>("feature_branch");
            targetTicket.HowToQA               = attributes.GetValue <string>("howtoqa");
            targetTicket.InstallationNotes     = attributes.GetValue <string>("setupnotes");
            targetTicket.Milestone             = attributes.GetValue <string>("milestone");
            targetTicket.Owner            = attributes.GetValue <string>("owner");
            targetTicket.ParentTicketID   = attributes.GetValue <int?>("parents");
            targetTicket.Priority         = TracTypeConverters.TicketPriorityConverter.ConvertToTarget(attributes.GetValue <string>("priority"));
            targetTicket.QaBY             = attributes.GetValue <string>("qaby");
            targetTicket.Remaining        = attributes.GetValue <decimal>("estimatedhours");
            targetTicket.Reporter         = attributes.GetValue <string>("reporter");
            targetTicket.SprintAssignment = attributes.GetValue <string>("sprintassignment");
            targetTicket.SprintTeam       = attributes.GetValue <string>("sprintteam");
            targetTicket.Status           = TracTypeConverters.TicketStatusConverter.ConvertToTarget(attributes.GetValue <string>("status"));
            targetTicket.StatusUpdates    = TracTypeConverters.TicketStatusUpdatesConverter.ConvertToTarget(attributes.GetValue <string>("statusupdatetext"));
            targetTicket.Summary          = attributes.GetValue <string>("summary");
            targetTicket.TargetVersion    = attributes.GetValue <string>("targetversion");
            targetTicket.TechnicalNotes   = attributes.GetValue <string>("technotes");
            targetTicket.TestPlanReviewed = TracTypeConverters.BooleanTracConverter.ConvertToTarget(attributes.GetValue <string>("testplanreviewedprog"));
            targetTicket.TotalHours       = attributes.GetValue <decimal>("totalhours");
        }
Пример #3
0
        public void LoadTicketData(TracTicket tracTicket)
        {
            object[] ticketData      = this.ticketClient.GetTicket(tracTicket.ID);
            object[] attachmentsData = this.ticketClient.GetAttachments(tracTicket.ID);
            ParseTracTicket(tracTicket, ticketData);
            List <TicketAttachment> attachments = ParseAttachments(attachmentsData);

            tracTicket.Attachments = attachments;
            tracTicket.TestPlans   = attachments.Where(attachment => attachment is TicketTestPlanAttachment).Cast <TicketTestPlanAttachment>().ToList();
        }