private TicketUpdateResponse JsonUpdateTicketOtrs(string TARGETURL, TicketBodyUpdateRequest ticketRequest) { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(TARGETURL); request.KeepAlive = false; request.ProtocolVersion = HttpVersion.Version10; request.Method = "PATCH"; request.ContentType = "application/json; charset=UTF-8"; request.Accept = "application/json"; string json = JsonConvert.SerializeObject(ticketRequest); byte[] postBytes = Encoding.UTF8.GetBytes(json); request.ContentLength = postBytes.Length; Stream requestStream = request.GetRequestStream(); requestStream.Write(postBytes, 0, postBytes.Length); requestStream.Close(); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); using (StreamReader rdr = new StreamReader(response.GetResponseStream())) { var respuesta = rdr.ReadToEnd(); var responseApi = JsonConvert.DeserializeObject <TicketUpdateResponse>(respuesta); return(responseApi); } }
public TicketUpdateResponse UpdateTicketOtrs(TicketCredencials ticketCredencials, TicketIncidenceCreate ticket) { TicketBodyUpdateRequest ticketRequest = new TicketBodyUpdateRequest { Article = new ArticleRequest() { Subject = _OTRSOptions.TicketArticleSubjectUpdate, Body = ticket.Description, ContentType = "text/plain; charset=utf8", SenderType = "customer", TimeUnit = "0" } }; List <AttachmentRequest> attachments = new List <AttachmentRequest>(); foreach (TicketAttachments file in ticket.Attachments) { attachments.Add(new AttachmentRequest { Content = file.Base64, ContentType = file.ContentType, Filename = file.FileName }); } var result = _OTRSClientRest.GenerateTicketUpdateRequest(ticket.TicketId, ticketCredencials, ticketRequest, attachments); return(result); }
public TicketUpdateResponse GenerateTicketUpdateRequest(long ticketId, TicketCredencials ticketCredencials, TicketBodyUpdateRequest ticket, List <AttachmentRequest> attachment) { string TARGETURL = ticketCredencials.WebBaseUrl + "/" + ticketId; TicketBodyUpdateRequest ticketRequest = new TicketBodyUpdateRequest(); ticketRequest.UserLogin = ticketCredencials.UserLogin; ticketRequest.CustomerUserLogin = ticketCredencials.CustomerUserLogin; ticketRequest.Password = ticketCredencials.Password; ticketRequest.Article = ticket.Article; if (attachment.Count() > 0) { ticketRequest.Attachment = attachment; } var response = JsonUpdateTicketOtrs(TARGETURL, ticketRequest); return(response); }