/// <summary>
        /// Add a new time tracking note to a ticket
        /// </summary>
        public TicketTimeTrack AddTicketTimeTrackingNote(TicketTimeTrackRequest request)
        {
            request.EnsureValidData(RequestTypes.Create);

            string apiMethod = "/Tickets/TicketTimeTrack";

            RequestBodyBuilder parameters = new RequestBodyBuilder();

            parameters.AppendRequestData("ticketid", request.TicketId);
            parameters.AppendRequestData("contents", request.Contents);
            parameters.AppendRequestData("staffid", request.StaffId);
            parameters.AppendRequestData("worktimeline", request.WorkTimeline);
            parameters.AppendRequestData("billtimeline", request.BillTimeline);
            parameters.AppendRequestData("timespent", request.TimeSpent);
            parameters.AppendRequestData("timebillable", request.TimeBillable);

            if (request.WorkerStaffId != null)
            {
                parameters.AppendRequestData("workerstaffid", request.WorkerStaffId);
            }

            if (request.NoteColor != null)
            {
                parameters.AppendRequestData("notecolor", EnumUtility.ToApiString(request.NoteColor));
            }

            TicketTimeTrackCollection ticketTimeTracks = Connector.ExecutePost <TicketTimeTrackCollection>(apiMethod, parameters.ToString());

            if (ticketTimeTracks != null && ticketTimeTracks.Count > 0)
            {
                return(ticketTimeTracks[0]);
            }

            return(null);
        }
Пример #2
0
        public void GetTicketTimeTrack()
        {
            TicketCollection tickets = TestSetup.KayakoApiService.Tickets.GetTickets(new int[] { 1, 2 });

            Assert.IsNotNull(tickets, "No tickets were returned");
            Assert.IsNotEmpty(tickets, "No tickets were returned");

            TicketTimeTrackCollection ticketTimeTracks = null;

            foreach (Ticket t in tickets)
            {
                ticketTimeTracks = TestSetup.KayakoApiService.Tickets.GetTicketTimeTracks(t.Id);

                if (ticketTimeTracks.Count > 0)
                {
                    break;
                }
            }

            Assert.IsNotNull(ticketTimeTracks, "No ticket time tracks were returned");
            Assert.IsNotEmpty(ticketTimeTracks, "No ticket time tracks were returned");

            TicketTimeTrack randomTicketTimeTrackToGet = ticketTimeTracks[new Random().Next(ticketTimeTracks.Count)];

            Trace.WriteLine("GetTicketType using ticket time tracks id: " + randomTicketTimeTrackToGet.Id);

            TicketTimeTrack ticketTimeTrack = TestSetup.KayakoApiService.Tickets.GetTicketTimeTrack(randomTicketTimeTrackToGet.TicketId, randomTicketTimeTrackToGet.Id);

            CompareTicketTimeTracks(ticketTimeTrack, randomTicketTimeTrackToGet);
        }
        /// <summary>
        /// Retrieve a list of a ticket's time track notes.
        /// </summary>
        public TicketTimeTrackCollection GetTicketTimeTracks(int ticketId)
        {
            string apiMethod = String.Format("/Tickets/TicketTimeTrack/ListAll/{0}", ticketId);

            TicketTimeTrackCollection ticketTimeTracks = Connector.ExecuteGet <TicketTimeTrackCollection>(apiMethod);

            return(ticketTimeTracks);
        }
        /// <summary>
        /// Retrieve a ticket's time track note
        /// </summary>
        /// <param name="ticketId">The unique numeric identifier of the ticket</param>
        /// <param name="timeTrackNoteId">The unique numeric identifier of the ticket time tracking note</param>
        public TicketTimeTrack GetTicketTimeTrack(int ticketId, int timeTrackNoteId)
        {
            string apiMethod = String.Format("/Tickets/TicketTimeTrack/{0}/{1}", ticketId, timeTrackNoteId);

            TicketTimeTrackCollection ticketTimeTracks = Connector.ExecuteGet <TicketTimeTrackCollection>(apiMethod);

            if (ticketTimeTracks != null && ticketTimeTracks.Count > 0)
            {
                return(ticketTimeTracks[0]);
            }

            return(null);
        }
Пример #5
0
        public void GetTicketTimeTracks()
        {
            TicketCollection tickets = TestSetup.KayakoApiService.Tickets.GetTickets(new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 });

            TicketTimeTrackCollection ticketTimeTracks = null;

            foreach (Ticket t in tickets)
            {
                ticketTimeTracks = TestSetup.KayakoApiService.Tickets.GetTicketTimeTracks(t.Id);

                if (ticketTimeTracks.Count > 0)
                {
                    break;
                }
            }

            Assert.IsNotNull(tickets, "No ticket time tracks were returned");
            Assert.IsNotEmpty(tickets, "No ticket time tracks returned");
        }