public static TicketTimeTrack ToResponseData(TicketTimeTrackRequest requestData)
 {
     return(TicketTimeTrackRequest.ToResponseType <TicketTimeTrackRequest, TicketTimeTrack>(requestData));
 }
 public static TicketTimeTrack ToResponseData(TicketTimeTrackRequest requestData)
 {
     return TicketTimeTrackRequest.ToResponseType<TicketTimeTrackRequest, TicketTimeTrack>(requestData);
 }
 public static TicketTimeTrackRequest FromResponseData(TicketTimeTrack responseData)
 {
     return(TicketTimeTrackRequest.FromResponseType <TicketTimeTrack, TicketTimeTrackRequest>(responseData));
 }
		/// <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;
		}