Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        //  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));
                }
            }
        }