コード例 #1
0
        public void GetArticles()
        {
            var request  = new ArticleListRequest(this.connectionSettings.AccessToken, this.connectionSettings.ClientSecret);
            var articles = ArticleService.GetArticlesAsync(request).GetAwaiter().GetResult();

            Assert.IsTrue(articles.Data.ToList().Count > 0);
        }
コード例 #2
0
        protected async Task <List <ArticleSubset> > GetArticles()
        {
            var request  = new ArticleListRequest(connectionSettings.AccessToken, connectionSettings.ClientSecret);
            var articles = await ArticleService.GetArticlesAsync(request);

            return(articles.Data.ToList());
        }
コード例 #3
0
        public void GetSortedArticles()
        {
            var request = new ArticleListRequest(this.connectionSettings.AccessToken, this.connectionSettings.ClientSecret)
            {
                SortBy = ArticleSortableProperties.ArticleNumber
            };
            var invoiceList = ArticleService.GetArticlesAsync(request).GetAwaiter().GetResult();

            Assert.IsTrue(invoiceList.Data.ToList().First().ArticleNumber.StartsWith("1"));
        }
コード例 #4
0
        public void GetFilteredArticles()
        {
            var request = new ArticleListRequest(this.connectionSettings.AccessToken, this.connectionSettings.ClientSecret)
            {
                Filter = ArticleFilters.Active
            };
            var invoiceList = ArticleService.GetArticlesAsync(request).GetAwaiter().GetResult();

            Assert.IsNotNull(invoiceList.Data.ToList().First());
        }
コード例 #5
0
        public void SearchArticles()
        {
            var request = new ArticleListRequest(this.connectionSettings.AccessToken, this.connectionSettings.ClientSecret)
            {
                SearchParameters = new Dictionary <ArticleSearchParameters, object>
                {
                    { ArticleSearchParameters.ArticleNumber, "100370" }
                }
            };

            var invoiceList = ArticleService.GetArticlesAsync(request).GetAwaiter().GetResult();

            Assert.IsTrue(invoiceList.Data.ToList().First().ArticleNumber == "100370");
        }
コード例 #6
0
        public void GetArticlesPaginationTest()
        {
            var request = new ArticleListRequest(this.connectionSettings.AccessToken, this.connectionSettings.ClientSecret);

            request.Limit = 50;
            request.Page  = 1;

            var articles = new List <ArticleSubset>();
            ListedResourceResponse <ArticleSubset> response;

            do
            {
                response = ArticleService.GetArticlesAsync(request).GetAwaiter().GetResult();
                articles.AddRange(response.Data);
                request.Page = response.MetaInformation.CurrentPage + 1;
            } while (response.MetaInformation.CurrentPage != response.MetaInformation.TotalPages);

            Assert.IsTrue(articles.Count > 10);
        }
コード例 #7
0
 public Article[] Get(ArticleListRequest request)
 {
     return(Get());
 }
コード例 #8
0
        public static async Task <ListedResourceResponse <ArticleSubset> > GetArticlesAsync(ArticleListRequest listRequest)
        {
            var apiRequest = new FortnoxApiClientRequest <ListedResourceResponse <ArticleSubset> >(HttpMethod.Get, listRequest.AccessToken, listRequest.ClientSecret,
                                                                                                   ApiEndpoints.Articles);

            apiRequest.SetFilter(listRequest.Filter?.ToString());
            apiRequest.SetSortOrder(listRequest.SortBy?.ToString(), listRequest.SortOrder.ToString());
            apiRequest.SetPageAndLimit(listRequest.Page, listRequest.Limit);

            if (listRequest.SearchParameters == null)
            {
                return(await FortnoxAPIClient.CallAsync(apiRequest));
            }

            foreach (var param in listRequest.SearchParameters)
            {
                apiRequest.AddSearchParam(param.Key.ToString().ToLower(), param.Value);
            }

            return(await FortnoxAPIClient.CallAsync(apiRequest));
        }