コード例 #1
0
        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;
        }
コード例 #2
0
        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));
        }