예제 #1
0
        public void GetSuppliers()
        {
            var request   = new SupplierListRequest(this.connectionSettings.AccessToken, this.connectionSettings.ClientSecret);
            var suppliers = SupplierService.GetSuppliersAsync(request).GetAwaiter().GetResult();

            Assert.IsTrue(suppliers.Data.ToList().Count > 0);
        }
예제 #2
0
        public void GetSupplier()
        {
            var request  = new SupplierListRequest(this.connectionSettings.AccessToken, this.connectionSettings.ClientSecret);
            var response = SupplierService.GetSupplierAsync(request, "1").GetAwaiter().GetResult();

            Assert.IsTrue(response.Name.CompareTo("Leverantör 1") == 0);
            Assert.IsTrue(response.Active == true);
        }
예제 #3
0
        public void GetSortedSuppliers()
        {
            var request = new SupplierListRequest(this.connectionSettings.AccessToken, this.connectionSettings.ClientSecret)
            {
                SortBy = SupplierSortableProperties.Name
            };
            var suppliers = SupplierService.GetSuppliersAsync(request).GetAwaiter().GetResult().Data.ToList();

            Assert.IsTrue(suppliers.Count() >= 2);

            Assert.IsTrue(suppliers.ElementAt(0).Name.CompareTo(suppliers.ElementAt(1).Name) < 0);
        }
예제 #4
0
        public void SearchSuppliersTest()
        {
            var request = new SupplierListRequest(this.connectionSettings.AccessToken, this.connectionSettings.ClientSecret)
            {
                SearchParameters = new Dictionary <SupplierSearchParameters, object> {
                    { SupplierSearchParameters.Name, "Leverantör" }
                }
            };

            var suppliers = SupplierService.GetSuppliersAsync(request).GetAwaiter().GetResult();

            foreach (var supplier in suppliers.Data)
            {
                Assert.IsTrue(supplier.Name.ToLower().Contains("leverantör"));
            }
        }
예제 #5
0
        public void GetSuppliersPaginationTest()
        {
            const int PAGES = 5;

            var request = new SupplierListRequest(this.connectionSettings.AccessToken, this.connectionSettings.ClientSecret);

            request.Limit = 2;
            request.Page  = 1;

            var suppliers = new List <SupplierSubset>();
            ListedResourceResponse <SupplierSubset> response;

            do
            {
                response = SupplierService.GetSuppliersAsync(request).GetAwaiter().GetResult();
                suppliers.AddRange(response.Data);
                request.Page = response.MetaInformation.CurrentPage + 1;
            } while (response.MetaInformation.CurrentPage < PAGES);

            Assert.IsTrue(suppliers.Count > 5);
            Assert.IsTrue(response.MetaInformation.CurrentPage == 5);
        }
예제 #6
0
        public static async Task <ListedResourceResponse <SupplierSubset> > GetSuppliersAsync(SupplierListRequest listRequest)
        {
            var apiRequest = new FortnoxApiClientRequest <ListedResourceResponse <SupplierSubset> >(HttpMethod.Get, listRequest.AccessToken, listRequest.ClientSecret,
                                                                                                    ApiEndpoints.Suppliers);

            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));
        }