private Dictionary <string, object> BuildResultsForQueries <TQuery>(JsonObject jsonObject, IEnumerable <TQuery> queries) where TQuery : Query { var results = new Dictionary <string, object>(); foreach (var query in queries) { object result; var name = query.GetQueryName(); if (query.IsFullJson()) { result = query.BuildResultFullJson(jsonObject); } else { string json = jsonObject.Child(name); result = query.BuildResult(json); } results.Add(name, result); } return(results); }
internal ApiResult <TResult> Execute <TResult>(IApiAction <TResult> apiAction) where TResult : class { var request = new RestRequest("", apiAction.RequestMethod); request.AddParameter("action", apiAction.Action); var parameters = apiAction.BuildParameterList(); foreach (var pair in parameters) { request.AddParameter(pair.Key, pair.Value); } var response = _client.Execute(request); var json = JsonObject.Parse(response.Content); var actionJson = json.Object(apiAction.Action); var result = new ApiResult <TResult> { Result = apiAction.BuildResult(actionJson), Response = response, }; return(result); }
public QueryResult BuildResult(JsonObject jsonObject) { return(new QueryResult { List = BuildResultsForQueries(jsonObject, ListQueries), Meta = BuildResultsForQueries(jsonObject, MetaQueries), }); }
public static Dictionary <string, string> ToDictionary(this JsonObject jsonObject) { return(jsonObject == null ? new Dictionary <string, string>() : new Dictionary <string, string>(jsonObject)); }
public static T ConvertTo <T>(this JsonObject jsonObject, Func <JsonObject, T> converFn) { return(jsonObject == null ? default(T) : converFn(jsonObject)); }