public ActionResult SaveTicket(IntakeFormModel model) { AddIncidentRequest req = new AddIncidentRequest(); string sum; string desc; if (model !=null) { if (Request.Params[11] == "Cancel") { //clear screen return RedirectToAction("Index"); } //Write last selected in cookie WriteCoockie("ServiceDeskName", model.ServiceDesk_AutoComplete); //WriteCoockie("LastRequestType", model.VerzoekType.ToString()); if (model.VerzoekType == 1) { //Terugbelverzoek try { Incident ticket = CreateTicket(model.ServiceDesk_AutoComplete); desc = string.Format("Dhr/mevr {0} van {1} heeft gebeld met het verzoek om teruggebeld te worden op {2}.<br />Bericht:<br />{3}", model.ContactName, model.Compagny_AutoComplete, model.ContactPhone, model.Message); sum = string.Format("Dhr/mevr {0} heeft gebeld met het verzoek om teruggebeld te worden.", model.ContactName); ticket.Description = desc; ticket.Organization = model.Compagny; ticket.OrganizationName = model.Compagny_AutoComplete; ticket.Summary = sum; SDWS.AddIncidentRequest newTicket = new AddIncidentRequest(); newTicket.AddSDIncident = ticket; SDWS.AddIncidentResponse responce1 = sDesk.ProcessRequest(newTicket); if (responce1.ErrorMessage.Length > 0) { MessageTitle = "Fout bij het aanmaken van het terugbel verzoek!!"; MessageSucces = false; MessageDisplay = responce1.ErrorMessage; } else { MessageTitle = "Terugbel verzoek aangemaakt"; MessageDisplay = string.Format("Voor {0} is er een terugbelverzoek aangemaakt onder ticket {1}.", model.ContactName, responce1.AddSDIncidentResponse.IncidentNumber); } } catch (Exception e) { MessageTitle = "Fout bij het aanmaken van het terugbel verzoek!!"; MessageSucces = false; MessageDisplay = e.Message; } } else if (model.VerzoekType == 2) { //Terugbelverzoek inzake bestaande ticket try { SDWS.GetIncidentReq r = new GetIncidentReq(); SDWS.GetIncidentRequest filter = new GetIncidentRequest(); SDWS.Note n = NewNote(); List<SDWS.Note> NotesList = new List<Note>(); filter.IncidentNumber = model.Ticket; r.IncidentRequest = filter; var responce = sDesk.ProcessRequest(r); var updated = responce.IncidentResponse; updated.LastEditDateTime = DateTime.Now; updated.LastEditDateTimeSpecified = true; if (updated.Notes != null) { foreach (var note in updated.Notes) { NotesList.Add(note); } } n.Text = string.Format("Dhr/mevr {0} van {1} heeft gebeld met het verzoek om teruggebeld te worden op {2}.<br />Bericht:<br />{3}", model.ContactName, model.Compagny_AutoComplete, model.ContactPhone, model.Message); NotesList.Add(n); updated.Notes = NotesList.ToArray(); SDWS.UpdateIncidentRequest update = new UpdateIncidentRequest(); update.UpdateSDIncident = updated; SDWS.UpdateIncidentResponse responce2 = sDesk.ProcessRequest(update); if (responce2.ErrorMessage.Length > 0) { MessageTitle = "Fout bij het aanmaken van het terugbel verzoek!!"; MessageSucces = false; MessageDisplay = responce2.ErrorMessage; } else { MessageTitle = string.Format("Terugbel verzoek voor ticket {0} aangemaakt", updated.IncidentNumber); MessageDisplay = string.Format("Voor {0} is er een terugbelverzoek aangemaakt onder ticket {1}.", model.ContactName, updated.IncidentNumber); } } catch (Exception e) { MessageTitle = "Fout bij het aanmaken van het terugbel verzoek!!"; MessageSucces = false; MessageDisplay = e.Message; } } else if (model.VerzoekType==3) { //Nieuwe incident try { Incident ticket = CreateTicket(model.ServiceDesk_AutoComplete); sum = string.Format("Ticket aangemaakt voor {0} van {1}", model.ContactName, model.Compagny_AutoComplete); desc = string.Format("{0} heeft het volgende gemeld.<br />Omschrijving:<br />{1}<br /><br />{0} is bereikbaar op {2}" , model.ContactName, model.Message, model.ContactPhone); ticket.Description = desc; ticket.Organization = model.Compagny; ticket.OrganizationName = model.Compagny_AutoComplete; ticket.Summary = sum; SDWS.AddIncidentRequest newTicket = new AddIncidentRequest(); newTicket.AddSDIncident = ticket; SDWS.AddIncidentResponse responce3 = sDesk.ProcessRequest(newTicket); if (responce3.ErrorMessage.Length > 0) { MessageTitle = "Fout bij het aanmaken van een nieuw ticket!!"; MessageSucces = false; MessageDisplay = responce3.ErrorMessage; } else { MessageTitle = string.Format("Ticket {0} aangemaakt",responce3.AddSDIncidentResponse.IncidentNumber); MessageDisplay = string.Format("Voor {0} is er een nieuw verzoek aangemaakt onder ticket {1}.", model.ContactName, responce3.AddSDIncidentResponse.IncidentNumber); } } catch (Exception e) { MessageTitle = "Fout bij het aanmaken van een nieuw ticket!!"; MessageSucces = false; MessageDisplay = e.Message; } } else { //Update van bestaande ticket try { SDWS.GetIncidentReq r = new GetIncidentReq(); SDWS.GetIncidentRequest filter = new GetIncidentRequest(); SDWS.Note n = NewNote(); List<SDWS.Note> NotesList = new List<Note>(); filter.IncidentNumber = model.Ticket; r.IncidentRequest = filter; r.IncidentRequest.IncludeNotes = true; var responce = sDesk.ProcessRequest(r); var updated = responce.IncidentResponse; updated.LastEditDateTime = DateTime.Now; updated.LastEditDateTimeSpecified = true; if (updated.Notes != null) { foreach (var note in updated.Notes) { NotesList.Add(note); } } n.Text = string.Format("Dhr/mevr {0} van {1} heeft een aanvulling gedaan op ticket {2}.<br />Bericht:<br />{3}<br /><br />{0} is bereikbaar op {4}.", model.ContactName, model.Compagny_AutoComplete, responce.IncidentResponse.IncidentNumber, model.ContactPhone, model.Message); NotesList.Add(n); updated.Notes = NotesList.ToArray(); SDWS.UpdateIncidentRequest update = new UpdateIncidentRequest(); update.UpdateSDIncident = updated; SDWS.UpdateIncidentResponse responce2 = sDesk.ProcessRequest(update); if (responce2.ErrorMessage.Length > 0) { MessageTitle = string.Format("Fout bij het het aanvullen van ticket {0}!!",model.Ticket); MessageSucces = false; MessageDisplay = responce2.ErrorMessage; } else { MessageTitle = string.Format("Ticket {0} aangevuld", model.Ticket); MessageDisplay = string.Format("Voor {0} is er een terugbelverzoek aangemaakt onder ticket {1}.", model.ContactName, responce.IncidentResponse.IncidentNumber); } } catch (Exception e) { MessageTitle = string.Format("Fout bij het het aanvullen van ticket {0}!!", model.Ticket_AutoComplete); MessageSucces = false; MessageDisplay = e.Message; } } } return RedirectToAction("Index"); }
/// <remarks/> public void QueueAddIncidentAsync(AddIncidentRequest req) { this.QueueAddIncidentAsync(req, null); }
/// <remarks/> public void QueueAddIncidentAsync(AddIncidentRequest req, object userState) { if ((this.QueueAddIncidentOperationCompleted == null)) { this.QueueAddIncidentOperationCompleted = new System.Threading.SendOrPostCallback(this.OnQueueAddIncidentOperationCompleted); } this.InvokeAsync("QueueAddIncident", new object[] { req}, this.QueueAddIncidentOperationCompleted, userState); }
public QueueAddIncidentResponse QueueAddIncident(AddIncidentRequest req) { object[] results = this.Invoke("QueueAddIncident", new object[] { req}); return ((QueueAddIncidentResponse)(results[0])); }