public async Task <IActionResult> CreateIncident([FromBody] iTopCreateRequest value) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var response = await itopService.CreateInsidentAsync(value); var baseUrl = $"{HttpContext.Request.Scheme}://{HttpContext.Request.Host.ToUriComponent()}"; var locationUri = baseUrl + "/" + APIRoute.iTopService.CreateIncident; return(Created(locationUri, response)); }
public async Task <iTopCreateResponse> CreateInsidentAsync(iTopCreateRequest message) { iTopAPIMessage msg = new iTopAPIMessage(); msg.EndPoint = $"{ItopAPIOptions.Endpoint}&auth_user={ItopAPIOptions.Username}&auth_pwd={ItopAPIOptions.Password}&json_data={JsonConvert.SerializeObject(message)}"; var creds = new Credentials { Username = ItopAPIOptions.Username, Password = ItopAPIOptions.Password }; msg.Credentials = Convert.ToBase64String(Encoding.UTF8.GetBytes(creds.Username)); msg.Create = message; //msg.Create.operation = message.operation; //msg.Create.fields.caller_id.first_name = ""; //msg.Create.fields.caller_id.name = ""; // var response = (await iTopAPIWorker(msg)).Content.ReadAsStringAsync(); var rsp = await iTopAPIWorker(msg); return(JsonConvert.DeserializeObject <iTopCreateResponse>(rsp)); }