Exemple #1
0
        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);
            }
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
        }