/// <summary>
        /// Retrieves a record set in the response (as a list) based on the query result.
        /// </summary>
        /// <param name="query">A standard service-now table query.</param>
        /// <returns>A RestResponse containing a result list of T (if successful) along with any error messages (if any).</returns>
        public RESTQueryResponse <T> GetByQuery(string query)
        {
            var response = new RESTQueryResponse <T>();

            try
            {
                response.RawJSON = ServiceNowClient.DownloadString(URL + "?&sysparm_fields=" + _FieldList + "&sysparm_query=" + query);
            }
            catch (WebException ex)
            {
                response.ErrorMsg = ParseWebException(ex);
            }
            catch (Exception ex)
            {
                response.ErrorMsg = "An error occured retrieving the REST response: " + ex.Message;
            }

            RESTQueryResponse <T> tmp = JsonConvert.DeserializeObject <RESTQueryResponse <T> >(response.RawJSON);

            if (tmp != null)
            {
                response.Result = tmp.Result;
            }

            return(response);
        }
        public RESTQueryResponse <TResult> GetByQuery <TResult, TParam>(TParam param) where TParam : class
        {
            var response = new RESTQueryResponse <TResult>();

            try
            {
                var query = ParameterParser.Parse(param);
                _TableName = TableResolver.GetTableName <TResult>();
                var request = new RestRequest(Method.GET);
                ServiceNowClient.BaseUrl = new Uri($"{URL}?{query}");
                IRestResponse res = ServiceNowClient.Execute(request);

                if (res.StatusCode == HttpStatusCode.OK)
                {
                    RESTQueryResponse <TResult> tmp = JsonConvert.DeserializeObject <RESTQueryResponse <TResult> >(res.Content);
                    if (tmp != null)
                    {
                        response.Result = tmp.Result;
                    }
                }
            }
            catch (WebException ex)
            {
                response.ErrorMsg = ParseWebException(ex);
            }
            catch (Exception ex)
            {
                response.ErrorMsg = "An error occured retrieving the REST response: " + ex.Message;
            }

            return(response);
        }
        /// <summary>
        /// Retrieves all record..
        /// </summary>
        public RESTQueryResponse <T> GetByQuery <T>(string query)
        {
            var response = new RESTQueryResponse <T>();

            try
            {
                _TableName = TableResolver.GetTableName <T>();
                var request = new RestRequest(Method.GET);
                ServiceNowClient.BaseUrl = new Uri(URL);
                IRestResponse res = ServiceNowClient.Execute(request);

                if (res.StatusCode == HttpStatusCode.OK)
                {
                    RESTQueryResponse <T> tmp = JsonConvert.DeserializeObject <RESTQueryResponse <T> >(res.Content);
                    if (tmp != null)
                    {
                        response.Result = tmp.Result;
                    }
                }
            }
            catch (WebException ex)
            {
                response.ErrorMsg = ParseWebException(ex);
            }
            catch (Exception ex)
            {
                response.ErrorMsg = "An error occured retrieving the REST response: " + ex.Message;
            }

            return(response);
        }
Exemplo n.º 4
0
        public RESTQueryResponse <Problem> Get(string problemId, string startDate, string endDate, string limit)
        {
            if (!DateTime.TryParse(startDate, out DateTime start))
            {
                // handle failure..
            }
            if (!DateTime.TryParse(endDate, out DateTime end))
            {
                // handle failure..
            }
            //var query = "?sysparm_limit=10&sysparm_query=business_service=";
            var query = "?sysparm_limit=" + limit + "&sysparm_query=business_service=";
            RESTQueryResponse <Problem> result = _problemService.GetByQueryAndId(query, problemId, start, end);

            return(result);
        }