public void GetCustomerInvoices() { var request = new CustomerInvoiceListRequest(this.connectionSettings.AccessToken, this.connectionSettings.ClientSecret); var invoiceList = CustomerInvoiceService.GetCustomerInvoicesAsync(request).GetAwaiter().GetResult(); Assert.IsTrue(invoiceList.Data.ToList().Count >= 10); }
public void GetSortedCustomerInvoices() { var request = new CustomerInvoiceListRequest(this.connectionSettings.AccessToken, this.connectionSettings.ClientSecret) { SortBy = CustomerInvoiceSortableProperties.CustomerName }; var invoiceList = CustomerInvoiceService.GetCustomerInvoicesAsync(request).GetAwaiter().GetResult(); Assert.IsTrue(invoiceList.Data.ToList().First().CustomerName.StartsWith("I")); }
public void SearchCustomerInvoices() { var request = new CustomerInvoiceListRequest(this.connectionSettings.AccessToken, this.connectionSettings.ClientSecret) { SearchParameters = new Dictionary <CustomerInvoiceSearchParameters, object> { { CustomerInvoiceSearchParameters.CustomerName, "Interna Arbeten" } } }; var invoiceList = CustomerInvoiceService.GetCustomerInvoicesAsync(request).GetAwaiter().GetResult(); Assert.IsTrue(invoiceList.Data.ToList().First().CustomerName == "Interna Arbeten"); }
public async Task CreateInvoiceFromContractTest() { var request = new FortnoxApiRequest(this.connectionSettings.AccessToken, this.connectionSettings.ClientSecret); var response = ContractService.CreateContractAsync(request, new Contract { CustomerNumber = "1", InvoiceRows = new List <InvoiceRow>() { new InvoiceRow { ArticleNumber = "1", DeliveredQuantity = 1000, AccountNumber = 3001 } }, ContractDate = DateTime.Now.ToString("yyyy-MM-dd"), PeriodStart = DateTime.Now.AddDays(1).ToString("yyyy-MM-dd"), PeriodEnd = new DateTime(DateTime.Now.Year, DateTime.Now.Month + 1, 1).AddDays(-1).ToString("yyyy-MM-dd"), }).GetAwaiter().GetResult(); Assert.AreEqual("1", response.CustomerNumber); var contract = await ContractService.CreateInvoiceFromContractAsync(request, response); Assert.IsNotNull(contract); Assert.AreEqual(response.DocumentNumber, contract.DocumentNumber); var invoiceRequest = new CustomerInvoiceListRequest(this.connectionSettings.AccessToken, this.connectionSettings.ClientSecret) { SortBy = CustomerInvoiceSortableProperties.DocumentNumber, SortOrder = SortOrder.Descending }; var invoiceList = await CustomerInvoiceService.GetCustomerInvoicesAsync(invoiceRequest); var latestInvoice = invoiceList.Data.First(); Assert.AreEqual(latestInvoice.CustomerName, contract.CustomerName); Assert.AreEqual(latestInvoice.CustomerNumber, contract.CustomerNumber); }
public static async Task <ListedResourceResponse <InvoiceSubset> > GetCustomerInvoicesAsync(CustomerInvoiceListRequest listRequest) { var apiRequest = new FortnoxApiClientRequest <ListedResourceResponse <InvoiceSubset> >(HttpMethod.Get, listRequest.AccessToken, listRequest.ClientSecret, ApiEndpoints.CustomerInvoices); 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)); }