Пример #1
0
        protected void ApiRequest(string url, Method method = Method.GET)
        {
            var req = new RestRequest(SanitiseUrl(url), method)
            {
                JsonSerializer = new CustomSerializer()
            };

            Api.Execute(req);
        }
Пример #2
0
        public byte[] GetAttachment(int id)
        {
            var executor = new ApiRequestExecutor(_baseUrl, _authToken);
            var request  = new AttachmentRequest(id);

            return(executor.Execute <byte[]>(request));
        }
Пример #3
0
        public CollectionPaged <T> GetNextPage <T>(CollectionPaged <T> pagedCollection)
        {
            var executor = new ApiRequestExecutor(_baseUrl, _authToken);
            var request  = new ApiRequestNextPage(pagedCollection.Next);
            var response = executor.Execute <CollectionPaged <T> >(request);

            return(response);
        }
Пример #4
0
        private CollectionPaged <int> GetIds <T>()
        {
            var executor = new ApiRequestExecutor(_baseUrl, _authToken);
            var request  = new ApiRequest(typeof(T).Name, new FilterExpression(), new SelectIdExpression(), 0, 1000, new OrderByExpression());
            var response = executor.Execute <CollectionPaged <int> >(request);

            return(response);
        }
Пример #5
0
        public CollectionPaged <T> GetAll <T>()
        {
            var executor = new ApiRequestExecutor(_baseUrl, _authToken);
            var request  = new ApiRequest(typeof(T).Name, new FilterExpression(), new SelectAllFieldsExpression <T>(), 0, 10, new OrderByExpression());
            var response = executor.Execute <CollectionPaged <T> >(request);

            return(response);
        }
Пример #6
0
        public T GetById <T>(int id)
        {
            var filter = new FilterExpression();

            filter.Filters.Add($"id={id}");

            var executor = new ApiRequestExecutor(_baseUrl, _authToken);
            var request  = new ApiRequest(typeof(T).Name, filter, new SelectAllFieldsExpression <T>(), 0, 10, new OrderByExpression());
            var response = executor.Execute <CollectionPaged <T> >(request);

            if (response.Items.Any())
            {
                return(response.Items[0]);
            }

            return(default(T));
        }