public async Task <IHttpActionResult> Process(int eventId, HttpRequestMessage requestMessage) { JsonResult <T> jsonResult; try { await AuditService.LogUserEvent(eventId); var result = await ProcessEvent(eventId); if (result is FileActionResult) { return(result as FileActionResult); } jsonResult = new JsonResult <T>(result, JSON_SETTINGS, Encoding.UTF8, requestMessage); //Logger.Debug("Result from processing " + eventId + " is:"); //Logger.Debug(new JavaScriptSerializer().Serialize(jsonResult.Content)); return(jsonResult); } catch (Exception error) { SystemLogger.LogError("Error in core processor during Process", this.GetType(), error); return(new BadRequestErrorMessageResult(SystemLogger.GetMessageStack(error), new DefaultContentNegotiator(), requestMessage, new List <MediaTypeFormatter>() { new JsonMediaTypeFormatter() })); } }