protected BaseRepository(ISitecoreWebApiRepository repo, string rootPath, SitecoreActionType actionType, string query, params object[] args) { _api = repo; _actionType = actionType; var arguments = new List <object> { rootPath, args.ToList() }; _query = HttpUtility.UrlEncode(string.Format(query, rootPath, arguments.ToArray())); _rootPath = rootPath; }
public virtual ISitecoreWebApiRequestResult <Result, Item> RequestItems(SitecoreActionType actionType, string query) { return(Call(req => { var restResponse = Execute <RestResponse>(req); var jobject = JObject.Parse(restResponse.Content); if (restResponse.Data.StatusCode == HttpStatusCode.BadRequest || restResponse.Data.StatusCode == HttpStatusCode.Forbidden || restResponse.Data.StatusCode == HttpStatusCode.Unauthorized) { throw new ApplicationException(Errors.WS_Unavailable); } return JsonConvert.DeserializeObject <RequestResult>(jobject.ToString()); }, WebApiConstants.SitecoreUris, actionType, Method.GET, Settings.ItemWebApiVersion, query)); }