public void CreateDeleteTicketAttachment() { DepartmentCollection depts = TestSetup.KayakoApiService.Departments.GetDepartments(); StaffUserCollection staff = TestSetup.KayakoApiService.Staff.GetStaffUsers(); StaffUser randomStaffUser = staff[new Random().Next(staff.Count)]; TicketCollection tickets = TestSetup.KayakoApiService.Tickets.GetTickets(depts.Select(d => d.Id).ToArray()); Ticket randomTicket = tickets[new Random().Next(tickets.Count)]; TicketPostCollection ticketPosts = TestSetup.KayakoApiService.Tickets.GetTicketPosts(randomTicket.Id); TicketPost randomPost = ticketPosts[new Random().Next(ticketPosts.Count)]; string contents = Convert.ToBase64String(Encoding.UTF8.GetBytes("This is the file contents")); TicketAttachmentRequest request = new TicketAttachmentRequest() { TicketId = randomTicket.Id, TicketPostId = randomPost.Id, FileName = "TheFilename.txt", Contents = contents }; TicketAttachment createdAttachment = TestSetup.KayakoApiService.Tickets.AddTicketAttachment(request); Assert.AreEqual(createdAttachment.TicketId, randomTicket.Id); Assert.AreEqual(createdAttachment.TicketPostId, randomPost.Id); Assert.AreEqual(createdAttachment.FileName, "TheFilename.txt"); //Assert.AreEqual(createdAttachment.Contents, contents); bool success = TestSetup.KayakoApiService.Tickets.DeleteTicketAttachment(randomTicket.Id, createdAttachment.Id); Assert.IsTrue(success); }
public static TicketAttachment ToResponseData(TicketAttachmentRequest requestData) { return TicketAttachmentRequest.ToResponseType<TicketAttachmentRequest, TicketAttachment>(requestData); }
public static TicketAttachment ToResponseData(TicketAttachmentRequest requestData) { return(TicketAttachmentRequest.ToResponseType <TicketAttachmentRequest, TicketAttachment>(requestData)); }
public static TicketAttachmentRequest FromResponseData(TicketAttachment responseData) { return(TicketAttachmentRequest.FromResponseType <TicketAttachment, TicketAttachmentRequest>(responseData)); }
/// <summary> /// Add an attachment to a ticket post. /// </summary> /// <param name="ticketId">The unique numeric identifier of the ticket</param> /// <param name="ticketPostId">The unique numeric identifier of the ticket post</param> /// <param name="fileName">The file name for the attachment </param> /// <param name="contents">The BASE64 encoded attachment contents</param> public TicketAttachment AddTicketAttachment(TicketAttachmentRequest request) { string apiMethod = "/Tickets/TicketAttachment"; request.EnsureValidData(RequestTypes.Create); RequestBodyBuilder parameters = new RequestBodyBuilder(); parameters.AppendRequestData("ticketid", request.TicketId); parameters.AppendRequestData("ticketpostid", request.TicketPostId); parameters.AppendRequestData("filename", request.FileName); parameters.AppendRequestData("contents", request.Contents); TicketAttachmentCollection attachments = Connector.ExecutePost<TicketAttachmentCollection>(apiMethod, parameters.ToString()); if (attachments != null && attachments.Count > 0) { return attachments[0]; } return null; }