Exemplo n.º 1
0
        public IHttpActionResult Any(int version, dynamic json)
        {
            string entityTypeName = entityHelper.GetEntityTypeName(version, entityName, false);

            if (!string.IsNullOrEmpty(entityTypeName))
            {
                if (json.data != null && json.data.Count > 0)
                {
                    List <dynamic> records = new List <dynamic>();
                    foreach (var item in json.data)
                    {
                        records.Add(entityHelper.MapJsonToObject(item, entityTypeName));
                    }
                    TkWrapper outboundJsonObject = new TkWrapper()
                    {
                        version = version, data = records
                    };

                    return(hClient.Submit(version, entityName, Request.Headers, outboundJsonObject));
                }
                else
                {
                    return(BadRequest("source: TkMiddleware"));
                }
            }
            else
            {
                return(StatusCode(System.Net.HttpStatusCode.NotImplemented));
            }
        }
Exemplo n.º 2
0
        public IHttpActionResult Submit(int version, string entityName, HttpRequestHeaders headers, TkWrapper jsonObject = null)
        {
            HttpResponseMessage result;
            HttpContent         content;

            try
            {
                http = new Http(headers);
                string uri = string.Format("{0}/api/v{1}/{2}", baseUri, version, entityName);

                if (jsonObject == null) // GET
                {
                    result = http.Get(uri);
                }
                else // POST
                {
                    content = jsonHelper.GetContent(jsonObject);
                    result  = http.Post(uri, content);
                }
                //return Ok(result); /// good for debugging ///

                if (result.IsSuccessStatusCode)
                {
                    var r = result.Content.ReadAsStringAsync();
                    return(Ok(r));
                }
                else
                {
                    return(new System.Web.Http.Results.ResponseMessageResult(Request.CreateErrorResponse(result.StatusCode, new HttpError(result.Content.ReadAsStringAsync().Result))));
                }
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }