Ejemplo n.º 1
0
        private async Task <IHttpResponse> CallStoredProc(string resource, string procedureName, string wrapper, params StoredProcParam[] parameters)
        {
            IHttpAddress address = baseAddress.WithResource(resource, procedureName);

            if (!string.IsNullOrEmpty(wrapper))
            {
                address = address.WithParameter("wrapper", wrapper);
            }

            IHttpRequest request;

            if (parameters.Length > 0)
            {
                StoredProcRequest storedProc = new StoredProcRequest
                {
                    @params = parameters.ToList(),
                    wrapper = wrapper
                };
                string body = contentSerializer.Serialize(storedProc);
                request = new HttpRequest(HttpMethod.Post, address.Build(), baseHeaders, body);
            }
            else
            {
                request = new HttpRequest(HttpMethod.Get, address.Build(), baseHeaders);
            }

            IHttpResponse response = await httpFacade.RequestAsync(request);

            HttpUtils.ThrowOnBadStatus(response, contentSerializer);

            return(response);
        }
Ejemplo n.º 2
0
        private Task <string> CallStoredProc(string resource, string procedureName, string wrapper, params StoredProcParam[] parameters)
        {
            SqlQuery query = null;

            if (!string.IsNullOrEmpty(wrapper))
            {
                query = new SqlQuery
                {
                    Fields           = null,
                    CustomParameters = new Dictionary <string, object> {
                        { "wrapper", wrapper }
                    }
                };
            }

            IHttpRequest request;

            if (parameters.Length > 0)
            {
                StoredProcRequest storedProc = new StoredProcRequest
                {
                    Params  = parameters.ToList(),
                    Wrapper = wrapper
                };
                string body = base.ContentSerializer.Serialize(storedProc);
                request = base.BuildRequest(HttpMethod.Post, body, new[] { resource, procedureName }, query);
            }
            else
            {
                request = base.BuildRequest(HttpMethod.Get, null, new[] { resource, procedureName }, query);
            }

            return(ExecuteRequest(request));
        }