public HttpResponseMessage GetEntityByID(string logicalName, Guid ID) { try { if (logicalName == String.Empty || ID == Guid.Empty) { return(null); } // Define a unique key for this method and its parameters. var key = $"Entities:{logicalName}-{ID}"; Task <JObject> task = Task.Run(async() => await CRMRetrieval.GetEntityByIDAsync(key, logicalName, ID)); task.Wait(); var result = task.Result; if (Request == null) { Request = new HttpRequestMessage(); } return(Request.CreateResponse(HttpStatusCode.OK, result, Configuration.Formatters.JsonFormatter)); } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message + " " + ex.InnerException, ex)); } return(null); }
// ConnectionMultiplexer redis = ConnectionMultiplexer.Connect("localhost"); // GET: api/CRMCache // Example: http://localhost:62371/api/CRMCache?logicalName=ifb_externalsystemlinkses public HttpResponseMessage Get(string logicalName) { try { if (logicalName == String.Empty) { return(null); } // Define a unique key for this method and its parameters. var key = $"Entities:{logicalName}"; Task <JObject> task = Task.Run(async() => await CRMRetrieval.GetAllRecordsForAnEntityAsync(key, logicalName)); task.Wait(); var result = task.Result; if (Request == null) { HttpResponseMessage message = new HttpResponseMessage(HttpStatusCode.OK); message.Content = new ObjectContent(typeof(JObject), result, new JsonMediaTypeFormatter()); return(message); } else { return(Request.CreateResponse(HttpStatusCode.OK, result, Configuration.Formatters.JsonFormatter)); } } catch (Exception ex) { if (Request == null) { throw new HttpResponseException(HttpStatusCode.InternalServerError); //HttpResponseMessage message = new HttpResponseMessage(HttpStatusCode.InternalServerError); //message.Content = new ObjectContent(typeof(Exception), ex, new JsonMediaTypeFormatter()); //return message; } else { return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message + " " + ex.InnerException, ex)); } } }