github.com/yaegashi/msgraph.go@v0.1.4/beta/ActionCompany.go (about)

     1  // Code generated by msgraph.go/gen DO NOT EDIT.
     2  
     3  package msgraph
     4  
     5  import (
     6  	"context"
     7  	"fmt"
     8  	"io/ioutil"
     9  	"net/http"
    10  
    11  	"github.com/yaegashi/msgraph.go/jsonx"
    12  )
    13  
    14  // Accounts returns request builder for Account collection
    15  func (b *CompanyRequestBuilder) Accounts() *CompanyAccountsCollectionRequestBuilder {
    16  	bb := &CompanyAccountsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
    17  	bb.baseURL += "/accounts"
    18  	return bb
    19  }
    20  
    21  // CompanyAccountsCollectionRequestBuilder is request builder for Account collection
    22  type CompanyAccountsCollectionRequestBuilder struct{ BaseRequestBuilder }
    23  
    24  // Request returns request for Account collection
    25  func (b *CompanyAccountsCollectionRequestBuilder) Request() *CompanyAccountsCollectionRequest {
    26  	return &CompanyAccountsCollectionRequest{
    27  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
    28  	}
    29  }
    30  
    31  // ID returns request builder for Account item
    32  func (b *CompanyAccountsCollectionRequestBuilder) ID(id string) *AccountRequestBuilder {
    33  	bb := &AccountRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
    34  	bb.baseURL += "/" + id
    35  	return bb
    36  }
    37  
    38  // CompanyAccountsCollectionRequest is request for Account collection
    39  type CompanyAccountsCollectionRequest struct{ BaseRequest }
    40  
    41  // Paging perfoms paging operation for Account collection
    42  func (r *CompanyAccountsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]Account, error) {
    43  	req, err := r.NewJSONRequest(method, path, obj)
    44  	if err != nil {
    45  		return nil, err
    46  	}
    47  	if ctx != nil {
    48  		req = req.WithContext(ctx)
    49  	}
    50  	res, err := r.client.Do(req)
    51  	if err != nil {
    52  		return nil, err
    53  	}
    54  	var values []Account
    55  	for {
    56  		if res.StatusCode != http.StatusOK {
    57  			b, _ := ioutil.ReadAll(res.Body)
    58  			res.Body.Close()
    59  			errRes := &ErrorResponse{Response: res}
    60  			err := jsonx.Unmarshal(b, errRes)
    61  			if err != nil {
    62  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
    63  			}
    64  			return nil, errRes
    65  		}
    66  		var (
    67  			paging Paging
    68  			value  []Account
    69  		)
    70  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
    71  		res.Body.Close()
    72  		if err != nil {
    73  			return nil, err
    74  		}
    75  		err = jsonx.Unmarshal(paging.Value, &value)
    76  		if err != nil {
    77  			return nil, err
    78  		}
    79  		values = append(values, value...)
    80  		if n >= 0 {
    81  			n--
    82  		}
    83  		if n == 0 || len(paging.NextLink) == 0 {
    84  			return values, nil
    85  		}
    86  		req, err = http.NewRequest("GET", paging.NextLink, nil)
    87  		if ctx != nil {
    88  			req = req.WithContext(ctx)
    89  		}
    90  		res, err = r.client.Do(req)
    91  		if err != nil {
    92  			return nil, err
    93  		}
    94  	}
    95  }
    96  
    97  // GetN performs GET request for Account collection, max N pages
    98  func (r *CompanyAccountsCollectionRequest) GetN(ctx context.Context, n int) ([]Account, error) {
    99  	var query string
   100  	if r.query != nil {
   101  		query = "?" + r.query.Encode()
   102  	}
   103  	return r.Paging(ctx, "GET", query, nil, n)
   104  }
   105  
   106  // Get performs GET request for Account collection
   107  func (r *CompanyAccountsCollectionRequest) Get(ctx context.Context) ([]Account, error) {
   108  	return r.GetN(ctx, 0)
   109  }
   110  
   111  // Add performs POST request for Account collection
   112  func (r *CompanyAccountsCollectionRequest) Add(ctx context.Context, reqObj *Account) (resObj *Account, err error) {
   113  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
   114  	return
   115  }
   116  
   117  // AgedAccountsPayable returns request builder for AgedAccountsPayable collection
   118  func (b *CompanyRequestBuilder) AgedAccountsPayable() *CompanyAgedAccountsPayableCollectionRequestBuilder {
   119  	bb := &CompanyAgedAccountsPayableCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   120  	bb.baseURL += "/agedAccountsPayable"
   121  	return bb
   122  }
   123  
   124  // CompanyAgedAccountsPayableCollectionRequestBuilder is request builder for AgedAccountsPayable collection
   125  type CompanyAgedAccountsPayableCollectionRequestBuilder struct{ BaseRequestBuilder }
   126  
   127  // Request returns request for AgedAccountsPayable collection
   128  func (b *CompanyAgedAccountsPayableCollectionRequestBuilder) Request() *CompanyAgedAccountsPayableCollectionRequest {
   129  	return &CompanyAgedAccountsPayableCollectionRequest{
   130  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
   131  	}
   132  }
   133  
   134  // ID returns request builder for AgedAccountsPayable item
   135  func (b *CompanyAgedAccountsPayableCollectionRequestBuilder) ID(id string) *AgedAccountsPayableRequestBuilder {
   136  	bb := &AgedAccountsPayableRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   137  	bb.baseURL += "/" + id
   138  	return bb
   139  }
   140  
   141  // CompanyAgedAccountsPayableCollectionRequest is request for AgedAccountsPayable collection
   142  type CompanyAgedAccountsPayableCollectionRequest struct{ BaseRequest }
   143  
   144  // Paging perfoms paging operation for AgedAccountsPayable collection
   145  func (r *CompanyAgedAccountsPayableCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]AgedAccountsPayable, error) {
   146  	req, err := r.NewJSONRequest(method, path, obj)
   147  	if err != nil {
   148  		return nil, err
   149  	}
   150  	if ctx != nil {
   151  		req = req.WithContext(ctx)
   152  	}
   153  	res, err := r.client.Do(req)
   154  	if err != nil {
   155  		return nil, err
   156  	}
   157  	var values []AgedAccountsPayable
   158  	for {
   159  		if res.StatusCode != http.StatusOK {
   160  			b, _ := ioutil.ReadAll(res.Body)
   161  			res.Body.Close()
   162  			errRes := &ErrorResponse{Response: res}
   163  			err := jsonx.Unmarshal(b, errRes)
   164  			if err != nil {
   165  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
   166  			}
   167  			return nil, errRes
   168  		}
   169  		var (
   170  			paging Paging
   171  			value  []AgedAccountsPayable
   172  		)
   173  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
   174  		res.Body.Close()
   175  		if err != nil {
   176  			return nil, err
   177  		}
   178  		err = jsonx.Unmarshal(paging.Value, &value)
   179  		if err != nil {
   180  			return nil, err
   181  		}
   182  		values = append(values, value...)
   183  		if n >= 0 {
   184  			n--
   185  		}
   186  		if n == 0 || len(paging.NextLink) == 0 {
   187  			return values, nil
   188  		}
   189  		req, err = http.NewRequest("GET", paging.NextLink, nil)
   190  		if ctx != nil {
   191  			req = req.WithContext(ctx)
   192  		}
   193  		res, err = r.client.Do(req)
   194  		if err != nil {
   195  			return nil, err
   196  		}
   197  	}
   198  }
   199  
   200  // GetN performs GET request for AgedAccountsPayable collection, max N pages
   201  func (r *CompanyAgedAccountsPayableCollectionRequest) GetN(ctx context.Context, n int) ([]AgedAccountsPayable, error) {
   202  	var query string
   203  	if r.query != nil {
   204  		query = "?" + r.query.Encode()
   205  	}
   206  	return r.Paging(ctx, "GET", query, nil, n)
   207  }
   208  
   209  // Get performs GET request for AgedAccountsPayable collection
   210  func (r *CompanyAgedAccountsPayableCollectionRequest) Get(ctx context.Context) ([]AgedAccountsPayable, error) {
   211  	return r.GetN(ctx, 0)
   212  }
   213  
   214  // Add performs POST request for AgedAccountsPayable collection
   215  func (r *CompanyAgedAccountsPayableCollectionRequest) Add(ctx context.Context, reqObj *AgedAccountsPayable) (resObj *AgedAccountsPayable, err error) {
   216  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
   217  	return
   218  }
   219  
   220  // AgedAccountsReceivable returns request builder for AgedAccountsReceivable collection
   221  func (b *CompanyRequestBuilder) AgedAccountsReceivable() *CompanyAgedAccountsReceivableCollectionRequestBuilder {
   222  	bb := &CompanyAgedAccountsReceivableCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   223  	bb.baseURL += "/agedAccountsReceivable"
   224  	return bb
   225  }
   226  
   227  // CompanyAgedAccountsReceivableCollectionRequestBuilder is request builder for AgedAccountsReceivable collection
   228  type CompanyAgedAccountsReceivableCollectionRequestBuilder struct{ BaseRequestBuilder }
   229  
   230  // Request returns request for AgedAccountsReceivable collection
   231  func (b *CompanyAgedAccountsReceivableCollectionRequestBuilder) Request() *CompanyAgedAccountsReceivableCollectionRequest {
   232  	return &CompanyAgedAccountsReceivableCollectionRequest{
   233  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
   234  	}
   235  }
   236  
   237  // ID returns request builder for AgedAccountsReceivable item
   238  func (b *CompanyAgedAccountsReceivableCollectionRequestBuilder) ID(id string) *AgedAccountsReceivableRequestBuilder {
   239  	bb := &AgedAccountsReceivableRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   240  	bb.baseURL += "/" + id
   241  	return bb
   242  }
   243  
   244  // CompanyAgedAccountsReceivableCollectionRequest is request for AgedAccountsReceivable collection
   245  type CompanyAgedAccountsReceivableCollectionRequest struct{ BaseRequest }
   246  
   247  // Paging perfoms paging operation for AgedAccountsReceivable collection
   248  func (r *CompanyAgedAccountsReceivableCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]AgedAccountsReceivable, error) {
   249  	req, err := r.NewJSONRequest(method, path, obj)
   250  	if err != nil {
   251  		return nil, err
   252  	}
   253  	if ctx != nil {
   254  		req = req.WithContext(ctx)
   255  	}
   256  	res, err := r.client.Do(req)
   257  	if err != nil {
   258  		return nil, err
   259  	}
   260  	var values []AgedAccountsReceivable
   261  	for {
   262  		if res.StatusCode != http.StatusOK {
   263  			b, _ := ioutil.ReadAll(res.Body)
   264  			res.Body.Close()
   265  			errRes := &ErrorResponse{Response: res}
   266  			err := jsonx.Unmarshal(b, errRes)
   267  			if err != nil {
   268  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
   269  			}
   270  			return nil, errRes
   271  		}
   272  		var (
   273  			paging Paging
   274  			value  []AgedAccountsReceivable
   275  		)
   276  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
   277  		res.Body.Close()
   278  		if err != nil {
   279  			return nil, err
   280  		}
   281  		err = jsonx.Unmarshal(paging.Value, &value)
   282  		if err != nil {
   283  			return nil, err
   284  		}
   285  		values = append(values, value...)
   286  		if n >= 0 {
   287  			n--
   288  		}
   289  		if n == 0 || len(paging.NextLink) == 0 {
   290  			return values, nil
   291  		}
   292  		req, err = http.NewRequest("GET", paging.NextLink, nil)
   293  		if ctx != nil {
   294  			req = req.WithContext(ctx)
   295  		}
   296  		res, err = r.client.Do(req)
   297  		if err != nil {
   298  			return nil, err
   299  		}
   300  	}
   301  }
   302  
   303  // GetN performs GET request for AgedAccountsReceivable collection, max N pages
   304  func (r *CompanyAgedAccountsReceivableCollectionRequest) GetN(ctx context.Context, n int) ([]AgedAccountsReceivable, error) {
   305  	var query string
   306  	if r.query != nil {
   307  		query = "?" + r.query.Encode()
   308  	}
   309  	return r.Paging(ctx, "GET", query, nil, n)
   310  }
   311  
   312  // Get performs GET request for AgedAccountsReceivable collection
   313  func (r *CompanyAgedAccountsReceivableCollectionRequest) Get(ctx context.Context) ([]AgedAccountsReceivable, error) {
   314  	return r.GetN(ctx, 0)
   315  }
   316  
   317  // Add performs POST request for AgedAccountsReceivable collection
   318  func (r *CompanyAgedAccountsReceivableCollectionRequest) Add(ctx context.Context, reqObj *AgedAccountsReceivable) (resObj *AgedAccountsReceivable, err error) {
   319  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
   320  	return
   321  }
   322  
   323  // CompanyInformation returns request builder for CompanyInformation collection
   324  func (b *CompanyRequestBuilder) CompanyInformation() *CompanyCompanyInformationCollectionRequestBuilder {
   325  	bb := &CompanyCompanyInformationCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   326  	bb.baseURL += "/companyInformation"
   327  	return bb
   328  }
   329  
   330  // CompanyCompanyInformationCollectionRequestBuilder is request builder for CompanyInformation collection
   331  type CompanyCompanyInformationCollectionRequestBuilder struct{ BaseRequestBuilder }
   332  
   333  // Request returns request for CompanyInformation collection
   334  func (b *CompanyCompanyInformationCollectionRequestBuilder) Request() *CompanyCompanyInformationCollectionRequest {
   335  	return &CompanyCompanyInformationCollectionRequest{
   336  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
   337  	}
   338  }
   339  
   340  // ID returns request builder for CompanyInformation item
   341  func (b *CompanyCompanyInformationCollectionRequestBuilder) ID(id string) *CompanyInformationRequestBuilder {
   342  	bb := &CompanyInformationRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   343  	bb.baseURL += "/" + id
   344  	return bb
   345  }
   346  
   347  // CompanyCompanyInformationCollectionRequest is request for CompanyInformation collection
   348  type CompanyCompanyInformationCollectionRequest struct{ BaseRequest }
   349  
   350  // Paging perfoms paging operation for CompanyInformation collection
   351  func (r *CompanyCompanyInformationCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]CompanyInformation, error) {
   352  	req, err := r.NewJSONRequest(method, path, obj)
   353  	if err != nil {
   354  		return nil, err
   355  	}
   356  	if ctx != nil {
   357  		req = req.WithContext(ctx)
   358  	}
   359  	res, err := r.client.Do(req)
   360  	if err != nil {
   361  		return nil, err
   362  	}
   363  	var values []CompanyInformation
   364  	for {
   365  		if res.StatusCode != http.StatusOK {
   366  			b, _ := ioutil.ReadAll(res.Body)
   367  			res.Body.Close()
   368  			errRes := &ErrorResponse{Response: res}
   369  			err := jsonx.Unmarshal(b, errRes)
   370  			if err != nil {
   371  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
   372  			}
   373  			return nil, errRes
   374  		}
   375  		var (
   376  			paging Paging
   377  			value  []CompanyInformation
   378  		)
   379  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
   380  		res.Body.Close()
   381  		if err != nil {
   382  			return nil, err
   383  		}
   384  		err = jsonx.Unmarshal(paging.Value, &value)
   385  		if err != nil {
   386  			return nil, err
   387  		}
   388  		values = append(values, value...)
   389  		if n >= 0 {
   390  			n--
   391  		}
   392  		if n == 0 || len(paging.NextLink) == 0 {
   393  			return values, nil
   394  		}
   395  		req, err = http.NewRequest("GET", paging.NextLink, nil)
   396  		if ctx != nil {
   397  			req = req.WithContext(ctx)
   398  		}
   399  		res, err = r.client.Do(req)
   400  		if err != nil {
   401  			return nil, err
   402  		}
   403  	}
   404  }
   405  
   406  // GetN performs GET request for CompanyInformation collection, max N pages
   407  func (r *CompanyCompanyInformationCollectionRequest) GetN(ctx context.Context, n int) ([]CompanyInformation, error) {
   408  	var query string
   409  	if r.query != nil {
   410  		query = "?" + r.query.Encode()
   411  	}
   412  	return r.Paging(ctx, "GET", query, nil, n)
   413  }
   414  
   415  // Get performs GET request for CompanyInformation collection
   416  func (r *CompanyCompanyInformationCollectionRequest) Get(ctx context.Context) ([]CompanyInformation, error) {
   417  	return r.GetN(ctx, 0)
   418  }
   419  
   420  // Add performs POST request for CompanyInformation collection
   421  func (r *CompanyCompanyInformationCollectionRequest) Add(ctx context.Context, reqObj *CompanyInformation) (resObj *CompanyInformation, err error) {
   422  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
   423  	return
   424  }
   425  
   426  // CountriesRegions returns request builder for CountryRegion collection
   427  func (b *CompanyRequestBuilder) CountriesRegions() *CompanyCountriesRegionsCollectionRequestBuilder {
   428  	bb := &CompanyCountriesRegionsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   429  	bb.baseURL += "/countriesRegions"
   430  	return bb
   431  }
   432  
   433  // CompanyCountriesRegionsCollectionRequestBuilder is request builder for CountryRegion collection
   434  type CompanyCountriesRegionsCollectionRequestBuilder struct{ BaseRequestBuilder }
   435  
   436  // Request returns request for CountryRegion collection
   437  func (b *CompanyCountriesRegionsCollectionRequestBuilder) Request() *CompanyCountriesRegionsCollectionRequest {
   438  	return &CompanyCountriesRegionsCollectionRequest{
   439  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
   440  	}
   441  }
   442  
   443  // ID returns request builder for CountryRegion item
   444  func (b *CompanyCountriesRegionsCollectionRequestBuilder) ID(id string) *CountryRegionRequestBuilder {
   445  	bb := &CountryRegionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   446  	bb.baseURL += "/" + id
   447  	return bb
   448  }
   449  
   450  // CompanyCountriesRegionsCollectionRequest is request for CountryRegion collection
   451  type CompanyCountriesRegionsCollectionRequest struct{ BaseRequest }
   452  
   453  // Paging perfoms paging operation for CountryRegion collection
   454  func (r *CompanyCountriesRegionsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]CountryRegion, error) {
   455  	req, err := r.NewJSONRequest(method, path, obj)
   456  	if err != nil {
   457  		return nil, err
   458  	}
   459  	if ctx != nil {
   460  		req = req.WithContext(ctx)
   461  	}
   462  	res, err := r.client.Do(req)
   463  	if err != nil {
   464  		return nil, err
   465  	}
   466  	var values []CountryRegion
   467  	for {
   468  		if res.StatusCode != http.StatusOK {
   469  			b, _ := ioutil.ReadAll(res.Body)
   470  			res.Body.Close()
   471  			errRes := &ErrorResponse{Response: res}
   472  			err := jsonx.Unmarshal(b, errRes)
   473  			if err != nil {
   474  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
   475  			}
   476  			return nil, errRes
   477  		}
   478  		var (
   479  			paging Paging
   480  			value  []CountryRegion
   481  		)
   482  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
   483  		res.Body.Close()
   484  		if err != nil {
   485  			return nil, err
   486  		}
   487  		err = jsonx.Unmarshal(paging.Value, &value)
   488  		if err != nil {
   489  			return nil, err
   490  		}
   491  		values = append(values, value...)
   492  		if n >= 0 {
   493  			n--
   494  		}
   495  		if n == 0 || len(paging.NextLink) == 0 {
   496  			return values, nil
   497  		}
   498  		req, err = http.NewRequest("GET", paging.NextLink, nil)
   499  		if ctx != nil {
   500  			req = req.WithContext(ctx)
   501  		}
   502  		res, err = r.client.Do(req)
   503  		if err != nil {
   504  			return nil, err
   505  		}
   506  	}
   507  }
   508  
   509  // GetN performs GET request for CountryRegion collection, max N pages
   510  func (r *CompanyCountriesRegionsCollectionRequest) GetN(ctx context.Context, n int) ([]CountryRegion, error) {
   511  	var query string
   512  	if r.query != nil {
   513  		query = "?" + r.query.Encode()
   514  	}
   515  	return r.Paging(ctx, "GET", query, nil, n)
   516  }
   517  
   518  // Get performs GET request for CountryRegion collection
   519  func (r *CompanyCountriesRegionsCollectionRequest) Get(ctx context.Context) ([]CountryRegion, error) {
   520  	return r.GetN(ctx, 0)
   521  }
   522  
   523  // Add performs POST request for CountryRegion collection
   524  func (r *CompanyCountriesRegionsCollectionRequest) Add(ctx context.Context, reqObj *CountryRegion) (resObj *CountryRegion, err error) {
   525  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
   526  	return
   527  }
   528  
   529  // Currencies returns request builder for Currency collection
   530  func (b *CompanyRequestBuilder) Currencies() *CompanyCurrenciesCollectionRequestBuilder {
   531  	bb := &CompanyCurrenciesCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   532  	bb.baseURL += "/currencies"
   533  	return bb
   534  }
   535  
   536  // CompanyCurrenciesCollectionRequestBuilder is request builder for Currency collection
   537  type CompanyCurrenciesCollectionRequestBuilder struct{ BaseRequestBuilder }
   538  
   539  // Request returns request for Currency collection
   540  func (b *CompanyCurrenciesCollectionRequestBuilder) Request() *CompanyCurrenciesCollectionRequest {
   541  	return &CompanyCurrenciesCollectionRequest{
   542  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
   543  	}
   544  }
   545  
   546  // ID returns request builder for Currency item
   547  func (b *CompanyCurrenciesCollectionRequestBuilder) ID(id string) *CurrencyRequestBuilder {
   548  	bb := &CurrencyRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   549  	bb.baseURL += "/" + id
   550  	return bb
   551  }
   552  
   553  // CompanyCurrenciesCollectionRequest is request for Currency collection
   554  type CompanyCurrenciesCollectionRequest struct{ BaseRequest }
   555  
   556  // Paging perfoms paging operation for Currency collection
   557  func (r *CompanyCurrenciesCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]Currency, error) {
   558  	req, err := r.NewJSONRequest(method, path, obj)
   559  	if err != nil {
   560  		return nil, err
   561  	}
   562  	if ctx != nil {
   563  		req = req.WithContext(ctx)
   564  	}
   565  	res, err := r.client.Do(req)
   566  	if err != nil {
   567  		return nil, err
   568  	}
   569  	var values []Currency
   570  	for {
   571  		if res.StatusCode != http.StatusOK {
   572  			b, _ := ioutil.ReadAll(res.Body)
   573  			res.Body.Close()
   574  			errRes := &ErrorResponse{Response: res}
   575  			err := jsonx.Unmarshal(b, errRes)
   576  			if err != nil {
   577  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
   578  			}
   579  			return nil, errRes
   580  		}
   581  		var (
   582  			paging Paging
   583  			value  []Currency
   584  		)
   585  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
   586  		res.Body.Close()
   587  		if err != nil {
   588  			return nil, err
   589  		}
   590  		err = jsonx.Unmarshal(paging.Value, &value)
   591  		if err != nil {
   592  			return nil, err
   593  		}
   594  		values = append(values, value...)
   595  		if n >= 0 {
   596  			n--
   597  		}
   598  		if n == 0 || len(paging.NextLink) == 0 {
   599  			return values, nil
   600  		}
   601  		req, err = http.NewRequest("GET", paging.NextLink, nil)
   602  		if ctx != nil {
   603  			req = req.WithContext(ctx)
   604  		}
   605  		res, err = r.client.Do(req)
   606  		if err != nil {
   607  			return nil, err
   608  		}
   609  	}
   610  }
   611  
   612  // GetN performs GET request for Currency collection, max N pages
   613  func (r *CompanyCurrenciesCollectionRequest) GetN(ctx context.Context, n int) ([]Currency, error) {
   614  	var query string
   615  	if r.query != nil {
   616  		query = "?" + r.query.Encode()
   617  	}
   618  	return r.Paging(ctx, "GET", query, nil, n)
   619  }
   620  
   621  // Get performs GET request for Currency collection
   622  func (r *CompanyCurrenciesCollectionRequest) Get(ctx context.Context) ([]Currency, error) {
   623  	return r.GetN(ctx, 0)
   624  }
   625  
   626  // Add performs POST request for Currency collection
   627  func (r *CompanyCurrenciesCollectionRequest) Add(ctx context.Context, reqObj *Currency) (resObj *Currency, err error) {
   628  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
   629  	return
   630  }
   631  
   632  // CustomerPaymentJournals returns request builder for CustomerPaymentJournal collection
   633  func (b *CompanyRequestBuilder) CustomerPaymentJournals() *CompanyCustomerPaymentJournalsCollectionRequestBuilder {
   634  	bb := &CompanyCustomerPaymentJournalsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   635  	bb.baseURL += "/customerPaymentJournals"
   636  	return bb
   637  }
   638  
   639  // CompanyCustomerPaymentJournalsCollectionRequestBuilder is request builder for CustomerPaymentJournal collection
   640  type CompanyCustomerPaymentJournalsCollectionRequestBuilder struct{ BaseRequestBuilder }
   641  
   642  // Request returns request for CustomerPaymentJournal collection
   643  func (b *CompanyCustomerPaymentJournalsCollectionRequestBuilder) Request() *CompanyCustomerPaymentJournalsCollectionRequest {
   644  	return &CompanyCustomerPaymentJournalsCollectionRequest{
   645  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
   646  	}
   647  }
   648  
   649  // ID returns request builder for CustomerPaymentJournal item
   650  func (b *CompanyCustomerPaymentJournalsCollectionRequestBuilder) ID(id string) *CustomerPaymentJournalRequestBuilder {
   651  	bb := &CustomerPaymentJournalRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   652  	bb.baseURL += "/" + id
   653  	return bb
   654  }
   655  
   656  // CompanyCustomerPaymentJournalsCollectionRequest is request for CustomerPaymentJournal collection
   657  type CompanyCustomerPaymentJournalsCollectionRequest struct{ BaseRequest }
   658  
   659  // Paging perfoms paging operation for CustomerPaymentJournal collection
   660  func (r *CompanyCustomerPaymentJournalsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]CustomerPaymentJournal, error) {
   661  	req, err := r.NewJSONRequest(method, path, obj)
   662  	if err != nil {
   663  		return nil, err
   664  	}
   665  	if ctx != nil {
   666  		req = req.WithContext(ctx)
   667  	}
   668  	res, err := r.client.Do(req)
   669  	if err != nil {
   670  		return nil, err
   671  	}
   672  	var values []CustomerPaymentJournal
   673  	for {
   674  		if res.StatusCode != http.StatusOK {
   675  			b, _ := ioutil.ReadAll(res.Body)
   676  			res.Body.Close()
   677  			errRes := &ErrorResponse{Response: res}
   678  			err := jsonx.Unmarshal(b, errRes)
   679  			if err != nil {
   680  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
   681  			}
   682  			return nil, errRes
   683  		}
   684  		var (
   685  			paging Paging
   686  			value  []CustomerPaymentJournal
   687  		)
   688  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
   689  		res.Body.Close()
   690  		if err != nil {
   691  			return nil, err
   692  		}
   693  		err = jsonx.Unmarshal(paging.Value, &value)
   694  		if err != nil {
   695  			return nil, err
   696  		}
   697  		values = append(values, value...)
   698  		if n >= 0 {
   699  			n--
   700  		}
   701  		if n == 0 || len(paging.NextLink) == 0 {
   702  			return values, nil
   703  		}
   704  		req, err = http.NewRequest("GET", paging.NextLink, nil)
   705  		if ctx != nil {
   706  			req = req.WithContext(ctx)
   707  		}
   708  		res, err = r.client.Do(req)
   709  		if err != nil {
   710  			return nil, err
   711  		}
   712  	}
   713  }
   714  
   715  // GetN performs GET request for CustomerPaymentJournal collection, max N pages
   716  func (r *CompanyCustomerPaymentJournalsCollectionRequest) GetN(ctx context.Context, n int) ([]CustomerPaymentJournal, error) {
   717  	var query string
   718  	if r.query != nil {
   719  		query = "?" + r.query.Encode()
   720  	}
   721  	return r.Paging(ctx, "GET", query, nil, n)
   722  }
   723  
   724  // Get performs GET request for CustomerPaymentJournal collection
   725  func (r *CompanyCustomerPaymentJournalsCollectionRequest) Get(ctx context.Context) ([]CustomerPaymentJournal, error) {
   726  	return r.GetN(ctx, 0)
   727  }
   728  
   729  // Add performs POST request for CustomerPaymentJournal collection
   730  func (r *CompanyCustomerPaymentJournalsCollectionRequest) Add(ctx context.Context, reqObj *CustomerPaymentJournal) (resObj *CustomerPaymentJournal, err error) {
   731  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
   732  	return
   733  }
   734  
   735  // CustomerPayments returns request builder for CustomerPayment collection
   736  func (b *CompanyRequestBuilder) CustomerPayments() *CompanyCustomerPaymentsCollectionRequestBuilder {
   737  	bb := &CompanyCustomerPaymentsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   738  	bb.baseURL += "/customerPayments"
   739  	return bb
   740  }
   741  
   742  // CompanyCustomerPaymentsCollectionRequestBuilder is request builder for CustomerPayment collection
   743  type CompanyCustomerPaymentsCollectionRequestBuilder struct{ BaseRequestBuilder }
   744  
   745  // Request returns request for CustomerPayment collection
   746  func (b *CompanyCustomerPaymentsCollectionRequestBuilder) Request() *CompanyCustomerPaymentsCollectionRequest {
   747  	return &CompanyCustomerPaymentsCollectionRequest{
   748  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
   749  	}
   750  }
   751  
   752  // ID returns request builder for CustomerPayment item
   753  func (b *CompanyCustomerPaymentsCollectionRequestBuilder) ID(id string) *CustomerPaymentRequestBuilder {
   754  	bb := &CustomerPaymentRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   755  	bb.baseURL += "/" + id
   756  	return bb
   757  }
   758  
   759  // CompanyCustomerPaymentsCollectionRequest is request for CustomerPayment collection
   760  type CompanyCustomerPaymentsCollectionRequest struct{ BaseRequest }
   761  
   762  // Paging perfoms paging operation for CustomerPayment collection
   763  func (r *CompanyCustomerPaymentsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]CustomerPayment, error) {
   764  	req, err := r.NewJSONRequest(method, path, obj)
   765  	if err != nil {
   766  		return nil, err
   767  	}
   768  	if ctx != nil {
   769  		req = req.WithContext(ctx)
   770  	}
   771  	res, err := r.client.Do(req)
   772  	if err != nil {
   773  		return nil, err
   774  	}
   775  	var values []CustomerPayment
   776  	for {
   777  		if res.StatusCode != http.StatusOK {
   778  			b, _ := ioutil.ReadAll(res.Body)
   779  			res.Body.Close()
   780  			errRes := &ErrorResponse{Response: res}
   781  			err := jsonx.Unmarshal(b, errRes)
   782  			if err != nil {
   783  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
   784  			}
   785  			return nil, errRes
   786  		}
   787  		var (
   788  			paging Paging
   789  			value  []CustomerPayment
   790  		)
   791  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
   792  		res.Body.Close()
   793  		if err != nil {
   794  			return nil, err
   795  		}
   796  		err = jsonx.Unmarshal(paging.Value, &value)
   797  		if err != nil {
   798  			return nil, err
   799  		}
   800  		values = append(values, value...)
   801  		if n >= 0 {
   802  			n--
   803  		}
   804  		if n == 0 || len(paging.NextLink) == 0 {
   805  			return values, nil
   806  		}
   807  		req, err = http.NewRequest("GET", paging.NextLink, nil)
   808  		if ctx != nil {
   809  			req = req.WithContext(ctx)
   810  		}
   811  		res, err = r.client.Do(req)
   812  		if err != nil {
   813  			return nil, err
   814  		}
   815  	}
   816  }
   817  
   818  // GetN performs GET request for CustomerPayment collection, max N pages
   819  func (r *CompanyCustomerPaymentsCollectionRequest) GetN(ctx context.Context, n int) ([]CustomerPayment, error) {
   820  	var query string
   821  	if r.query != nil {
   822  		query = "?" + r.query.Encode()
   823  	}
   824  	return r.Paging(ctx, "GET", query, nil, n)
   825  }
   826  
   827  // Get performs GET request for CustomerPayment collection
   828  func (r *CompanyCustomerPaymentsCollectionRequest) Get(ctx context.Context) ([]CustomerPayment, error) {
   829  	return r.GetN(ctx, 0)
   830  }
   831  
   832  // Add performs POST request for CustomerPayment collection
   833  func (r *CompanyCustomerPaymentsCollectionRequest) Add(ctx context.Context, reqObj *CustomerPayment) (resObj *CustomerPayment, err error) {
   834  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
   835  	return
   836  }
   837  
   838  // Customers returns request builder for Customer collection
   839  func (b *CompanyRequestBuilder) Customers() *CompanyCustomersCollectionRequestBuilder {
   840  	bb := &CompanyCustomersCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   841  	bb.baseURL += "/customers"
   842  	return bb
   843  }
   844  
   845  // CompanyCustomersCollectionRequestBuilder is request builder for Customer collection
   846  type CompanyCustomersCollectionRequestBuilder struct{ BaseRequestBuilder }
   847  
   848  // Request returns request for Customer collection
   849  func (b *CompanyCustomersCollectionRequestBuilder) Request() *CompanyCustomersCollectionRequest {
   850  	return &CompanyCustomersCollectionRequest{
   851  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
   852  	}
   853  }
   854  
   855  // ID returns request builder for Customer item
   856  func (b *CompanyCustomersCollectionRequestBuilder) ID(id string) *CustomerRequestBuilder {
   857  	bb := &CustomerRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   858  	bb.baseURL += "/" + id
   859  	return bb
   860  }
   861  
   862  // CompanyCustomersCollectionRequest is request for Customer collection
   863  type CompanyCustomersCollectionRequest struct{ BaseRequest }
   864  
   865  // Paging perfoms paging operation for Customer collection
   866  func (r *CompanyCustomersCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]Customer, error) {
   867  	req, err := r.NewJSONRequest(method, path, obj)
   868  	if err != nil {
   869  		return nil, err
   870  	}
   871  	if ctx != nil {
   872  		req = req.WithContext(ctx)
   873  	}
   874  	res, err := r.client.Do(req)
   875  	if err != nil {
   876  		return nil, err
   877  	}
   878  	var values []Customer
   879  	for {
   880  		if res.StatusCode != http.StatusOK {
   881  			b, _ := ioutil.ReadAll(res.Body)
   882  			res.Body.Close()
   883  			errRes := &ErrorResponse{Response: res}
   884  			err := jsonx.Unmarshal(b, errRes)
   885  			if err != nil {
   886  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
   887  			}
   888  			return nil, errRes
   889  		}
   890  		var (
   891  			paging Paging
   892  			value  []Customer
   893  		)
   894  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
   895  		res.Body.Close()
   896  		if err != nil {
   897  			return nil, err
   898  		}
   899  		err = jsonx.Unmarshal(paging.Value, &value)
   900  		if err != nil {
   901  			return nil, err
   902  		}
   903  		values = append(values, value...)
   904  		if n >= 0 {
   905  			n--
   906  		}
   907  		if n == 0 || len(paging.NextLink) == 0 {
   908  			return values, nil
   909  		}
   910  		req, err = http.NewRequest("GET", paging.NextLink, nil)
   911  		if ctx != nil {
   912  			req = req.WithContext(ctx)
   913  		}
   914  		res, err = r.client.Do(req)
   915  		if err != nil {
   916  			return nil, err
   917  		}
   918  	}
   919  }
   920  
   921  // GetN performs GET request for Customer collection, max N pages
   922  func (r *CompanyCustomersCollectionRequest) GetN(ctx context.Context, n int) ([]Customer, error) {
   923  	var query string
   924  	if r.query != nil {
   925  		query = "?" + r.query.Encode()
   926  	}
   927  	return r.Paging(ctx, "GET", query, nil, n)
   928  }
   929  
   930  // Get performs GET request for Customer collection
   931  func (r *CompanyCustomersCollectionRequest) Get(ctx context.Context) ([]Customer, error) {
   932  	return r.GetN(ctx, 0)
   933  }
   934  
   935  // Add performs POST request for Customer collection
   936  func (r *CompanyCustomersCollectionRequest) Add(ctx context.Context, reqObj *Customer) (resObj *Customer, err error) {
   937  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
   938  	return
   939  }
   940  
   941  // DimensionValues returns request builder for DimensionValue collection
   942  func (b *CompanyRequestBuilder) DimensionValues() *CompanyDimensionValuesCollectionRequestBuilder {
   943  	bb := &CompanyDimensionValuesCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   944  	bb.baseURL += "/dimensionValues"
   945  	return bb
   946  }
   947  
   948  // CompanyDimensionValuesCollectionRequestBuilder is request builder for DimensionValue collection
   949  type CompanyDimensionValuesCollectionRequestBuilder struct{ BaseRequestBuilder }
   950  
   951  // Request returns request for DimensionValue collection
   952  func (b *CompanyDimensionValuesCollectionRequestBuilder) Request() *CompanyDimensionValuesCollectionRequest {
   953  	return &CompanyDimensionValuesCollectionRequest{
   954  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
   955  	}
   956  }
   957  
   958  // ID returns request builder for DimensionValue item
   959  func (b *CompanyDimensionValuesCollectionRequestBuilder) ID(id string) *DimensionValueRequestBuilder {
   960  	bb := &DimensionValueRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   961  	bb.baseURL += "/" + id
   962  	return bb
   963  }
   964  
   965  // CompanyDimensionValuesCollectionRequest is request for DimensionValue collection
   966  type CompanyDimensionValuesCollectionRequest struct{ BaseRequest }
   967  
   968  // Paging perfoms paging operation for DimensionValue collection
   969  func (r *CompanyDimensionValuesCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]DimensionValue, error) {
   970  	req, err := r.NewJSONRequest(method, path, obj)
   971  	if err != nil {
   972  		return nil, err
   973  	}
   974  	if ctx != nil {
   975  		req = req.WithContext(ctx)
   976  	}
   977  	res, err := r.client.Do(req)
   978  	if err != nil {
   979  		return nil, err
   980  	}
   981  	var values []DimensionValue
   982  	for {
   983  		if res.StatusCode != http.StatusOK {
   984  			b, _ := ioutil.ReadAll(res.Body)
   985  			res.Body.Close()
   986  			errRes := &ErrorResponse{Response: res}
   987  			err := jsonx.Unmarshal(b, errRes)
   988  			if err != nil {
   989  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
   990  			}
   991  			return nil, errRes
   992  		}
   993  		var (
   994  			paging Paging
   995  			value  []DimensionValue
   996  		)
   997  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
   998  		res.Body.Close()
   999  		if err != nil {
  1000  			return nil, err
  1001  		}
  1002  		err = jsonx.Unmarshal(paging.Value, &value)
  1003  		if err != nil {
  1004  			return nil, err
  1005  		}
  1006  		values = append(values, value...)
  1007  		if n >= 0 {
  1008  			n--
  1009  		}
  1010  		if n == 0 || len(paging.NextLink) == 0 {
  1011  			return values, nil
  1012  		}
  1013  		req, err = http.NewRequest("GET", paging.NextLink, nil)
  1014  		if ctx != nil {
  1015  			req = req.WithContext(ctx)
  1016  		}
  1017  		res, err = r.client.Do(req)
  1018  		if err != nil {
  1019  			return nil, err
  1020  		}
  1021  	}
  1022  }
  1023  
  1024  // GetN performs GET request for DimensionValue collection, max N pages
  1025  func (r *CompanyDimensionValuesCollectionRequest) GetN(ctx context.Context, n int) ([]DimensionValue, error) {
  1026  	var query string
  1027  	if r.query != nil {
  1028  		query = "?" + r.query.Encode()
  1029  	}
  1030  	return r.Paging(ctx, "GET", query, nil, n)
  1031  }
  1032  
  1033  // Get performs GET request for DimensionValue collection
  1034  func (r *CompanyDimensionValuesCollectionRequest) Get(ctx context.Context) ([]DimensionValue, error) {
  1035  	return r.GetN(ctx, 0)
  1036  }
  1037  
  1038  // Add performs POST request for DimensionValue collection
  1039  func (r *CompanyDimensionValuesCollectionRequest) Add(ctx context.Context, reqObj *DimensionValue) (resObj *DimensionValue, err error) {
  1040  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
  1041  	return
  1042  }
  1043  
  1044  // Dimensions returns request builder for Dimension collection
  1045  func (b *CompanyRequestBuilder) Dimensions() *CompanyDimensionsCollectionRequestBuilder {
  1046  	bb := &CompanyDimensionsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  1047  	bb.baseURL += "/dimensions"
  1048  	return bb
  1049  }
  1050  
  1051  // CompanyDimensionsCollectionRequestBuilder is request builder for Dimension collection
  1052  type CompanyDimensionsCollectionRequestBuilder struct{ BaseRequestBuilder }
  1053  
  1054  // Request returns request for Dimension collection
  1055  func (b *CompanyDimensionsCollectionRequestBuilder) Request() *CompanyDimensionsCollectionRequest {
  1056  	return &CompanyDimensionsCollectionRequest{
  1057  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
  1058  	}
  1059  }
  1060  
  1061  // ID returns request builder for Dimension item
  1062  func (b *CompanyDimensionsCollectionRequestBuilder) ID(id string) *DimensionRequestBuilder {
  1063  	bb := &DimensionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  1064  	bb.baseURL += "/" + id
  1065  	return bb
  1066  }
  1067  
  1068  // CompanyDimensionsCollectionRequest is request for Dimension collection
  1069  type CompanyDimensionsCollectionRequest struct{ BaseRequest }
  1070  
  1071  // Paging perfoms paging operation for Dimension collection
  1072  func (r *CompanyDimensionsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]Dimension, error) {
  1073  	req, err := r.NewJSONRequest(method, path, obj)
  1074  	if err != nil {
  1075  		return nil, err
  1076  	}
  1077  	if ctx != nil {
  1078  		req = req.WithContext(ctx)
  1079  	}
  1080  	res, err := r.client.Do(req)
  1081  	if err != nil {
  1082  		return nil, err
  1083  	}
  1084  	var values []Dimension
  1085  	for {
  1086  		if res.StatusCode != http.StatusOK {
  1087  			b, _ := ioutil.ReadAll(res.Body)
  1088  			res.Body.Close()
  1089  			errRes := &ErrorResponse{Response: res}
  1090  			err := jsonx.Unmarshal(b, errRes)
  1091  			if err != nil {
  1092  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
  1093  			}
  1094  			return nil, errRes
  1095  		}
  1096  		var (
  1097  			paging Paging
  1098  			value  []Dimension
  1099  		)
  1100  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
  1101  		res.Body.Close()
  1102  		if err != nil {
  1103  			return nil, err
  1104  		}
  1105  		err = jsonx.Unmarshal(paging.Value, &value)
  1106  		if err != nil {
  1107  			return nil, err
  1108  		}
  1109  		values = append(values, value...)
  1110  		if n >= 0 {
  1111  			n--
  1112  		}
  1113  		if n == 0 || len(paging.NextLink) == 0 {
  1114  			return values, nil
  1115  		}
  1116  		req, err = http.NewRequest("GET", paging.NextLink, nil)
  1117  		if ctx != nil {
  1118  			req = req.WithContext(ctx)
  1119  		}
  1120  		res, err = r.client.Do(req)
  1121  		if err != nil {
  1122  			return nil, err
  1123  		}
  1124  	}
  1125  }
  1126  
  1127  // GetN performs GET request for Dimension collection, max N pages
  1128  func (r *CompanyDimensionsCollectionRequest) GetN(ctx context.Context, n int) ([]Dimension, error) {
  1129  	var query string
  1130  	if r.query != nil {
  1131  		query = "?" + r.query.Encode()
  1132  	}
  1133  	return r.Paging(ctx, "GET", query, nil, n)
  1134  }
  1135  
  1136  // Get performs GET request for Dimension collection
  1137  func (r *CompanyDimensionsCollectionRequest) Get(ctx context.Context) ([]Dimension, error) {
  1138  	return r.GetN(ctx, 0)
  1139  }
  1140  
  1141  // Add performs POST request for Dimension collection
  1142  func (r *CompanyDimensionsCollectionRequest) Add(ctx context.Context, reqObj *Dimension) (resObj *Dimension, err error) {
  1143  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
  1144  	return
  1145  }
  1146  
  1147  // Employees returns request builder for Employee collection
  1148  func (b *CompanyRequestBuilder) Employees() *CompanyEmployeesCollectionRequestBuilder {
  1149  	bb := &CompanyEmployeesCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  1150  	bb.baseURL += "/employees"
  1151  	return bb
  1152  }
  1153  
  1154  // CompanyEmployeesCollectionRequestBuilder is request builder for Employee collection
  1155  type CompanyEmployeesCollectionRequestBuilder struct{ BaseRequestBuilder }
  1156  
  1157  // Request returns request for Employee collection
  1158  func (b *CompanyEmployeesCollectionRequestBuilder) Request() *CompanyEmployeesCollectionRequest {
  1159  	return &CompanyEmployeesCollectionRequest{
  1160  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
  1161  	}
  1162  }
  1163  
  1164  // ID returns request builder for Employee item
  1165  func (b *CompanyEmployeesCollectionRequestBuilder) ID(id string) *EmployeeRequestBuilder {
  1166  	bb := &EmployeeRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  1167  	bb.baseURL += "/" + id
  1168  	return bb
  1169  }
  1170  
  1171  // CompanyEmployeesCollectionRequest is request for Employee collection
  1172  type CompanyEmployeesCollectionRequest struct{ BaseRequest }
  1173  
  1174  // Paging perfoms paging operation for Employee collection
  1175  func (r *CompanyEmployeesCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]Employee, error) {
  1176  	req, err := r.NewJSONRequest(method, path, obj)
  1177  	if err != nil {
  1178  		return nil, err
  1179  	}
  1180  	if ctx != nil {
  1181  		req = req.WithContext(ctx)
  1182  	}
  1183  	res, err := r.client.Do(req)
  1184  	if err != nil {
  1185  		return nil, err
  1186  	}
  1187  	var values []Employee
  1188  	for {
  1189  		if res.StatusCode != http.StatusOK {
  1190  			b, _ := ioutil.ReadAll(res.Body)
  1191  			res.Body.Close()
  1192  			errRes := &ErrorResponse{Response: res}
  1193  			err := jsonx.Unmarshal(b, errRes)
  1194  			if err != nil {
  1195  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
  1196  			}
  1197  			return nil, errRes
  1198  		}
  1199  		var (
  1200  			paging Paging
  1201  			value  []Employee
  1202  		)
  1203  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
  1204  		res.Body.Close()
  1205  		if err != nil {
  1206  			return nil, err
  1207  		}
  1208  		err = jsonx.Unmarshal(paging.Value, &value)
  1209  		if err != nil {
  1210  			return nil, err
  1211  		}
  1212  		values = append(values, value...)
  1213  		if n >= 0 {
  1214  			n--
  1215  		}
  1216  		if n == 0 || len(paging.NextLink) == 0 {
  1217  			return values, nil
  1218  		}
  1219  		req, err = http.NewRequest("GET", paging.NextLink, nil)
  1220  		if ctx != nil {
  1221  			req = req.WithContext(ctx)
  1222  		}
  1223  		res, err = r.client.Do(req)
  1224  		if err != nil {
  1225  			return nil, err
  1226  		}
  1227  	}
  1228  }
  1229  
  1230  // GetN performs GET request for Employee collection, max N pages
  1231  func (r *CompanyEmployeesCollectionRequest) GetN(ctx context.Context, n int) ([]Employee, error) {
  1232  	var query string
  1233  	if r.query != nil {
  1234  		query = "?" + r.query.Encode()
  1235  	}
  1236  	return r.Paging(ctx, "GET", query, nil, n)
  1237  }
  1238  
  1239  // Get performs GET request for Employee collection
  1240  func (r *CompanyEmployeesCollectionRequest) Get(ctx context.Context) ([]Employee, error) {
  1241  	return r.GetN(ctx, 0)
  1242  }
  1243  
  1244  // Add performs POST request for Employee collection
  1245  func (r *CompanyEmployeesCollectionRequest) Add(ctx context.Context, reqObj *Employee) (resObj *Employee, err error) {
  1246  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
  1247  	return
  1248  }
  1249  
  1250  // GeneralLedgerEntries returns request builder for GeneralLedgerEntry collection
  1251  func (b *CompanyRequestBuilder) GeneralLedgerEntries() *CompanyGeneralLedgerEntriesCollectionRequestBuilder {
  1252  	bb := &CompanyGeneralLedgerEntriesCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  1253  	bb.baseURL += "/generalLedgerEntries"
  1254  	return bb
  1255  }
  1256  
  1257  // CompanyGeneralLedgerEntriesCollectionRequestBuilder is request builder for GeneralLedgerEntry collection
  1258  type CompanyGeneralLedgerEntriesCollectionRequestBuilder struct{ BaseRequestBuilder }
  1259  
  1260  // Request returns request for GeneralLedgerEntry collection
  1261  func (b *CompanyGeneralLedgerEntriesCollectionRequestBuilder) Request() *CompanyGeneralLedgerEntriesCollectionRequest {
  1262  	return &CompanyGeneralLedgerEntriesCollectionRequest{
  1263  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
  1264  	}
  1265  }
  1266  
  1267  // ID returns request builder for GeneralLedgerEntry item
  1268  func (b *CompanyGeneralLedgerEntriesCollectionRequestBuilder) ID(id string) *GeneralLedgerEntryRequestBuilder {
  1269  	bb := &GeneralLedgerEntryRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  1270  	bb.baseURL += "/" + id
  1271  	return bb
  1272  }
  1273  
  1274  // CompanyGeneralLedgerEntriesCollectionRequest is request for GeneralLedgerEntry collection
  1275  type CompanyGeneralLedgerEntriesCollectionRequest struct{ BaseRequest }
  1276  
  1277  // Paging perfoms paging operation for GeneralLedgerEntry collection
  1278  func (r *CompanyGeneralLedgerEntriesCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]GeneralLedgerEntry, error) {
  1279  	req, err := r.NewJSONRequest(method, path, obj)
  1280  	if err != nil {
  1281  		return nil, err
  1282  	}
  1283  	if ctx != nil {
  1284  		req = req.WithContext(ctx)
  1285  	}
  1286  	res, err := r.client.Do(req)
  1287  	if err != nil {
  1288  		return nil, err
  1289  	}
  1290  	var values []GeneralLedgerEntry
  1291  	for {
  1292  		if res.StatusCode != http.StatusOK {
  1293  			b, _ := ioutil.ReadAll(res.Body)
  1294  			res.Body.Close()
  1295  			errRes := &ErrorResponse{Response: res}
  1296  			err := jsonx.Unmarshal(b, errRes)
  1297  			if err != nil {
  1298  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
  1299  			}
  1300  			return nil, errRes
  1301  		}
  1302  		var (
  1303  			paging Paging
  1304  			value  []GeneralLedgerEntry
  1305  		)
  1306  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
  1307  		res.Body.Close()
  1308  		if err != nil {
  1309  			return nil, err
  1310  		}
  1311  		err = jsonx.Unmarshal(paging.Value, &value)
  1312  		if err != nil {
  1313  			return nil, err
  1314  		}
  1315  		values = append(values, value...)
  1316  		if n >= 0 {
  1317  			n--
  1318  		}
  1319  		if n == 0 || len(paging.NextLink) == 0 {
  1320  			return values, nil
  1321  		}
  1322  		req, err = http.NewRequest("GET", paging.NextLink, nil)
  1323  		if ctx != nil {
  1324  			req = req.WithContext(ctx)
  1325  		}
  1326  		res, err = r.client.Do(req)
  1327  		if err != nil {
  1328  			return nil, err
  1329  		}
  1330  	}
  1331  }
  1332  
  1333  // GetN performs GET request for GeneralLedgerEntry collection, max N pages
  1334  func (r *CompanyGeneralLedgerEntriesCollectionRequest) GetN(ctx context.Context, n int) ([]GeneralLedgerEntry, error) {
  1335  	var query string
  1336  	if r.query != nil {
  1337  		query = "?" + r.query.Encode()
  1338  	}
  1339  	return r.Paging(ctx, "GET", query, nil, n)
  1340  }
  1341  
  1342  // Get performs GET request for GeneralLedgerEntry collection
  1343  func (r *CompanyGeneralLedgerEntriesCollectionRequest) Get(ctx context.Context) ([]GeneralLedgerEntry, error) {
  1344  	return r.GetN(ctx, 0)
  1345  }
  1346  
  1347  // Add performs POST request for GeneralLedgerEntry collection
  1348  func (r *CompanyGeneralLedgerEntriesCollectionRequest) Add(ctx context.Context, reqObj *GeneralLedgerEntry) (resObj *GeneralLedgerEntry, err error) {
  1349  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
  1350  	return
  1351  }
  1352  
  1353  // ItemCategories returns request builder for ItemCategory collection
  1354  func (b *CompanyRequestBuilder) ItemCategories() *CompanyItemCategoriesCollectionRequestBuilder {
  1355  	bb := &CompanyItemCategoriesCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  1356  	bb.baseURL += "/itemCategories"
  1357  	return bb
  1358  }
  1359  
  1360  // CompanyItemCategoriesCollectionRequestBuilder is request builder for ItemCategory collection
  1361  type CompanyItemCategoriesCollectionRequestBuilder struct{ BaseRequestBuilder }
  1362  
  1363  // Request returns request for ItemCategory collection
  1364  func (b *CompanyItemCategoriesCollectionRequestBuilder) Request() *CompanyItemCategoriesCollectionRequest {
  1365  	return &CompanyItemCategoriesCollectionRequest{
  1366  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
  1367  	}
  1368  }
  1369  
  1370  // ID returns request builder for ItemCategory item
  1371  func (b *CompanyItemCategoriesCollectionRequestBuilder) ID(id string) *ItemCategoryRequestBuilder {
  1372  	bb := &ItemCategoryRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  1373  	bb.baseURL += "/" + id
  1374  	return bb
  1375  }
  1376  
  1377  // CompanyItemCategoriesCollectionRequest is request for ItemCategory collection
  1378  type CompanyItemCategoriesCollectionRequest struct{ BaseRequest }
  1379  
  1380  // Paging perfoms paging operation for ItemCategory collection
  1381  func (r *CompanyItemCategoriesCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]ItemCategory, error) {
  1382  	req, err := r.NewJSONRequest(method, path, obj)
  1383  	if err != nil {
  1384  		return nil, err
  1385  	}
  1386  	if ctx != nil {
  1387  		req = req.WithContext(ctx)
  1388  	}
  1389  	res, err := r.client.Do(req)
  1390  	if err != nil {
  1391  		return nil, err
  1392  	}
  1393  	var values []ItemCategory
  1394  	for {
  1395  		if res.StatusCode != http.StatusOK {
  1396  			b, _ := ioutil.ReadAll(res.Body)
  1397  			res.Body.Close()
  1398  			errRes := &ErrorResponse{Response: res}
  1399  			err := jsonx.Unmarshal(b, errRes)
  1400  			if err != nil {
  1401  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
  1402  			}
  1403  			return nil, errRes
  1404  		}
  1405  		var (
  1406  			paging Paging
  1407  			value  []ItemCategory
  1408  		)
  1409  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
  1410  		res.Body.Close()
  1411  		if err != nil {
  1412  			return nil, err
  1413  		}
  1414  		err = jsonx.Unmarshal(paging.Value, &value)
  1415  		if err != nil {
  1416  			return nil, err
  1417  		}
  1418  		values = append(values, value...)
  1419  		if n >= 0 {
  1420  			n--
  1421  		}
  1422  		if n == 0 || len(paging.NextLink) == 0 {
  1423  			return values, nil
  1424  		}
  1425  		req, err = http.NewRequest("GET", paging.NextLink, nil)
  1426  		if ctx != nil {
  1427  			req = req.WithContext(ctx)
  1428  		}
  1429  		res, err = r.client.Do(req)
  1430  		if err != nil {
  1431  			return nil, err
  1432  		}
  1433  	}
  1434  }
  1435  
  1436  // GetN performs GET request for ItemCategory collection, max N pages
  1437  func (r *CompanyItemCategoriesCollectionRequest) GetN(ctx context.Context, n int) ([]ItemCategory, error) {
  1438  	var query string
  1439  	if r.query != nil {
  1440  		query = "?" + r.query.Encode()
  1441  	}
  1442  	return r.Paging(ctx, "GET", query, nil, n)
  1443  }
  1444  
  1445  // Get performs GET request for ItemCategory collection
  1446  func (r *CompanyItemCategoriesCollectionRequest) Get(ctx context.Context) ([]ItemCategory, error) {
  1447  	return r.GetN(ctx, 0)
  1448  }
  1449  
  1450  // Add performs POST request for ItemCategory collection
  1451  func (r *CompanyItemCategoriesCollectionRequest) Add(ctx context.Context, reqObj *ItemCategory) (resObj *ItemCategory, err error) {
  1452  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
  1453  	return
  1454  }
  1455  
  1456  // Items returns request builder for Item collection
  1457  func (b *CompanyRequestBuilder) Items() *CompanyItemsCollectionRequestBuilder {
  1458  	bb := &CompanyItemsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  1459  	bb.baseURL += "/items"
  1460  	return bb
  1461  }
  1462  
  1463  // CompanyItemsCollectionRequestBuilder is request builder for Item collection
  1464  type CompanyItemsCollectionRequestBuilder struct{ BaseRequestBuilder }
  1465  
  1466  // Request returns request for Item collection
  1467  func (b *CompanyItemsCollectionRequestBuilder) Request() *CompanyItemsCollectionRequest {
  1468  	return &CompanyItemsCollectionRequest{
  1469  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
  1470  	}
  1471  }
  1472  
  1473  // ID returns request builder for Item item
  1474  func (b *CompanyItemsCollectionRequestBuilder) ID(id string) *ItemRequestBuilder {
  1475  	bb := &ItemRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  1476  	bb.baseURL += "/" + id
  1477  	return bb
  1478  }
  1479  
  1480  // CompanyItemsCollectionRequest is request for Item collection
  1481  type CompanyItemsCollectionRequest struct{ BaseRequest }
  1482  
  1483  // Paging perfoms paging operation for Item collection
  1484  func (r *CompanyItemsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]Item, error) {
  1485  	req, err := r.NewJSONRequest(method, path, obj)
  1486  	if err != nil {
  1487  		return nil, err
  1488  	}
  1489  	if ctx != nil {
  1490  		req = req.WithContext(ctx)
  1491  	}
  1492  	res, err := r.client.Do(req)
  1493  	if err != nil {
  1494  		return nil, err
  1495  	}
  1496  	var values []Item
  1497  	for {
  1498  		if res.StatusCode != http.StatusOK {
  1499  			b, _ := ioutil.ReadAll(res.Body)
  1500  			res.Body.Close()
  1501  			errRes := &ErrorResponse{Response: res}
  1502  			err := jsonx.Unmarshal(b, errRes)
  1503  			if err != nil {
  1504  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
  1505  			}
  1506  			return nil, errRes
  1507  		}
  1508  		var (
  1509  			paging Paging
  1510  			value  []Item
  1511  		)
  1512  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
  1513  		res.Body.Close()
  1514  		if err != nil {
  1515  			return nil, err
  1516  		}
  1517  		err = jsonx.Unmarshal(paging.Value, &value)
  1518  		if err != nil {
  1519  			return nil, err
  1520  		}
  1521  		values = append(values, value...)
  1522  		if n >= 0 {
  1523  			n--
  1524  		}
  1525  		if n == 0 || len(paging.NextLink) == 0 {
  1526  			return values, nil
  1527  		}
  1528  		req, err = http.NewRequest("GET", paging.NextLink, nil)
  1529  		if ctx != nil {
  1530  			req = req.WithContext(ctx)
  1531  		}
  1532  		res, err = r.client.Do(req)
  1533  		if err != nil {
  1534  			return nil, err
  1535  		}
  1536  	}
  1537  }
  1538  
  1539  // GetN performs GET request for Item collection, max N pages
  1540  func (r *CompanyItemsCollectionRequest) GetN(ctx context.Context, n int) ([]Item, error) {
  1541  	var query string
  1542  	if r.query != nil {
  1543  		query = "?" + r.query.Encode()
  1544  	}
  1545  	return r.Paging(ctx, "GET", query, nil, n)
  1546  }
  1547  
  1548  // Get performs GET request for Item collection
  1549  func (r *CompanyItemsCollectionRequest) Get(ctx context.Context) ([]Item, error) {
  1550  	return r.GetN(ctx, 0)
  1551  }
  1552  
  1553  // Add performs POST request for Item collection
  1554  func (r *CompanyItemsCollectionRequest) Add(ctx context.Context, reqObj *Item) (resObj *Item, err error) {
  1555  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
  1556  	return
  1557  }
  1558  
  1559  // JournalLines returns request builder for JournalLine collection
  1560  func (b *CompanyRequestBuilder) JournalLines() *CompanyJournalLinesCollectionRequestBuilder {
  1561  	bb := &CompanyJournalLinesCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  1562  	bb.baseURL += "/journalLines"
  1563  	return bb
  1564  }
  1565  
  1566  // CompanyJournalLinesCollectionRequestBuilder is request builder for JournalLine collection
  1567  type CompanyJournalLinesCollectionRequestBuilder struct{ BaseRequestBuilder }
  1568  
  1569  // Request returns request for JournalLine collection
  1570  func (b *CompanyJournalLinesCollectionRequestBuilder) Request() *CompanyJournalLinesCollectionRequest {
  1571  	return &CompanyJournalLinesCollectionRequest{
  1572  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
  1573  	}
  1574  }
  1575  
  1576  // ID returns request builder for JournalLine item
  1577  func (b *CompanyJournalLinesCollectionRequestBuilder) ID(id string) *JournalLineRequestBuilder {
  1578  	bb := &JournalLineRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  1579  	bb.baseURL += "/" + id
  1580  	return bb
  1581  }
  1582  
  1583  // CompanyJournalLinesCollectionRequest is request for JournalLine collection
  1584  type CompanyJournalLinesCollectionRequest struct{ BaseRequest }
  1585  
  1586  // Paging perfoms paging operation for JournalLine collection
  1587  func (r *CompanyJournalLinesCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]JournalLine, error) {
  1588  	req, err := r.NewJSONRequest(method, path, obj)
  1589  	if err != nil {
  1590  		return nil, err
  1591  	}
  1592  	if ctx != nil {
  1593  		req = req.WithContext(ctx)
  1594  	}
  1595  	res, err := r.client.Do(req)
  1596  	if err != nil {
  1597  		return nil, err
  1598  	}
  1599  	var values []JournalLine
  1600  	for {
  1601  		if res.StatusCode != http.StatusOK {
  1602  			b, _ := ioutil.ReadAll(res.Body)
  1603  			res.Body.Close()
  1604  			errRes := &ErrorResponse{Response: res}
  1605  			err := jsonx.Unmarshal(b, errRes)
  1606  			if err != nil {
  1607  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
  1608  			}
  1609  			return nil, errRes
  1610  		}
  1611  		var (
  1612  			paging Paging
  1613  			value  []JournalLine
  1614  		)
  1615  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
  1616  		res.Body.Close()
  1617  		if err != nil {
  1618  			return nil, err
  1619  		}
  1620  		err = jsonx.Unmarshal(paging.Value, &value)
  1621  		if err != nil {
  1622  			return nil, err
  1623  		}
  1624  		values = append(values, value...)
  1625  		if n >= 0 {
  1626  			n--
  1627  		}
  1628  		if n == 0 || len(paging.NextLink) == 0 {
  1629  			return values, nil
  1630  		}
  1631  		req, err = http.NewRequest("GET", paging.NextLink, nil)
  1632  		if ctx != nil {
  1633  			req = req.WithContext(ctx)
  1634  		}
  1635  		res, err = r.client.Do(req)
  1636  		if err != nil {
  1637  			return nil, err
  1638  		}
  1639  	}
  1640  }
  1641  
  1642  // GetN performs GET request for JournalLine collection, max N pages
  1643  func (r *CompanyJournalLinesCollectionRequest) GetN(ctx context.Context, n int) ([]JournalLine, error) {
  1644  	var query string
  1645  	if r.query != nil {
  1646  		query = "?" + r.query.Encode()
  1647  	}
  1648  	return r.Paging(ctx, "GET", query, nil, n)
  1649  }
  1650  
  1651  // Get performs GET request for JournalLine collection
  1652  func (r *CompanyJournalLinesCollectionRequest) Get(ctx context.Context) ([]JournalLine, error) {
  1653  	return r.GetN(ctx, 0)
  1654  }
  1655  
  1656  // Add performs POST request for JournalLine collection
  1657  func (r *CompanyJournalLinesCollectionRequest) Add(ctx context.Context, reqObj *JournalLine) (resObj *JournalLine, err error) {
  1658  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
  1659  	return
  1660  }
  1661  
  1662  // Journals returns request builder for Journal collection
  1663  func (b *CompanyRequestBuilder) Journals() *CompanyJournalsCollectionRequestBuilder {
  1664  	bb := &CompanyJournalsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  1665  	bb.baseURL += "/journals"
  1666  	return bb
  1667  }
  1668  
  1669  // CompanyJournalsCollectionRequestBuilder is request builder for Journal collection
  1670  type CompanyJournalsCollectionRequestBuilder struct{ BaseRequestBuilder }
  1671  
  1672  // Request returns request for Journal collection
  1673  func (b *CompanyJournalsCollectionRequestBuilder) Request() *CompanyJournalsCollectionRequest {
  1674  	return &CompanyJournalsCollectionRequest{
  1675  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
  1676  	}
  1677  }
  1678  
  1679  // ID returns request builder for Journal item
  1680  func (b *CompanyJournalsCollectionRequestBuilder) ID(id string) *JournalRequestBuilder {
  1681  	bb := &JournalRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  1682  	bb.baseURL += "/" + id
  1683  	return bb
  1684  }
  1685  
  1686  // CompanyJournalsCollectionRequest is request for Journal collection
  1687  type CompanyJournalsCollectionRequest struct{ BaseRequest }
  1688  
  1689  // Paging perfoms paging operation for Journal collection
  1690  func (r *CompanyJournalsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]Journal, error) {
  1691  	req, err := r.NewJSONRequest(method, path, obj)
  1692  	if err != nil {
  1693  		return nil, err
  1694  	}
  1695  	if ctx != nil {
  1696  		req = req.WithContext(ctx)
  1697  	}
  1698  	res, err := r.client.Do(req)
  1699  	if err != nil {
  1700  		return nil, err
  1701  	}
  1702  	var values []Journal
  1703  	for {
  1704  		if res.StatusCode != http.StatusOK {
  1705  			b, _ := ioutil.ReadAll(res.Body)
  1706  			res.Body.Close()
  1707  			errRes := &ErrorResponse{Response: res}
  1708  			err := jsonx.Unmarshal(b, errRes)
  1709  			if err != nil {
  1710  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
  1711  			}
  1712  			return nil, errRes
  1713  		}
  1714  		var (
  1715  			paging Paging
  1716  			value  []Journal
  1717  		)
  1718  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
  1719  		res.Body.Close()
  1720  		if err != nil {
  1721  			return nil, err
  1722  		}
  1723  		err = jsonx.Unmarshal(paging.Value, &value)
  1724  		if err != nil {
  1725  			return nil, err
  1726  		}
  1727  		values = append(values, value...)
  1728  		if n >= 0 {
  1729  			n--
  1730  		}
  1731  		if n == 0 || len(paging.NextLink) == 0 {
  1732  			return values, nil
  1733  		}
  1734  		req, err = http.NewRequest("GET", paging.NextLink, nil)
  1735  		if ctx != nil {
  1736  			req = req.WithContext(ctx)
  1737  		}
  1738  		res, err = r.client.Do(req)
  1739  		if err != nil {
  1740  			return nil, err
  1741  		}
  1742  	}
  1743  }
  1744  
  1745  // GetN performs GET request for Journal collection, max N pages
  1746  func (r *CompanyJournalsCollectionRequest) GetN(ctx context.Context, n int) ([]Journal, error) {
  1747  	var query string
  1748  	if r.query != nil {
  1749  		query = "?" + r.query.Encode()
  1750  	}
  1751  	return r.Paging(ctx, "GET", query, nil, n)
  1752  }
  1753  
  1754  // Get performs GET request for Journal collection
  1755  func (r *CompanyJournalsCollectionRequest) Get(ctx context.Context) ([]Journal, error) {
  1756  	return r.GetN(ctx, 0)
  1757  }
  1758  
  1759  // Add performs POST request for Journal collection
  1760  func (r *CompanyJournalsCollectionRequest) Add(ctx context.Context, reqObj *Journal) (resObj *Journal, err error) {
  1761  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
  1762  	return
  1763  }
  1764  
  1765  // PaymentMethods returns request builder for PaymentMethod collection
  1766  func (b *CompanyRequestBuilder) PaymentMethods() *CompanyPaymentMethodsCollectionRequestBuilder {
  1767  	bb := &CompanyPaymentMethodsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  1768  	bb.baseURL += "/paymentMethods"
  1769  	return bb
  1770  }
  1771  
  1772  // CompanyPaymentMethodsCollectionRequestBuilder is request builder for PaymentMethod collection
  1773  type CompanyPaymentMethodsCollectionRequestBuilder struct{ BaseRequestBuilder }
  1774  
  1775  // Request returns request for PaymentMethod collection
  1776  func (b *CompanyPaymentMethodsCollectionRequestBuilder) Request() *CompanyPaymentMethodsCollectionRequest {
  1777  	return &CompanyPaymentMethodsCollectionRequest{
  1778  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
  1779  	}
  1780  }
  1781  
  1782  // ID returns request builder for PaymentMethod item
  1783  func (b *CompanyPaymentMethodsCollectionRequestBuilder) ID(id string) *PaymentMethodRequestBuilder {
  1784  	bb := &PaymentMethodRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  1785  	bb.baseURL += "/" + id
  1786  	return bb
  1787  }
  1788  
  1789  // CompanyPaymentMethodsCollectionRequest is request for PaymentMethod collection
  1790  type CompanyPaymentMethodsCollectionRequest struct{ BaseRequest }
  1791  
  1792  // Paging perfoms paging operation for PaymentMethod collection
  1793  func (r *CompanyPaymentMethodsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]PaymentMethod, error) {
  1794  	req, err := r.NewJSONRequest(method, path, obj)
  1795  	if err != nil {
  1796  		return nil, err
  1797  	}
  1798  	if ctx != nil {
  1799  		req = req.WithContext(ctx)
  1800  	}
  1801  	res, err := r.client.Do(req)
  1802  	if err != nil {
  1803  		return nil, err
  1804  	}
  1805  	var values []PaymentMethod
  1806  	for {
  1807  		if res.StatusCode != http.StatusOK {
  1808  			b, _ := ioutil.ReadAll(res.Body)
  1809  			res.Body.Close()
  1810  			errRes := &ErrorResponse{Response: res}
  1811  			err := jsonx.Unmarshal(b, errRes)
  1812  			if err != nil {
  1813  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
  1814  			}
  1815  			return nil, errRes
  1816  		}
  1817  		var (
  1818  			paging Paging
  1819  			value  []PaymentMethod
  1820  		)
  1821  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
  1822  		res.Body.Close()
  1823  		if err != nil {
  1824  			return nil, err
  1825  		}
  1826  		err = jsonx.Unmarshal(paging.Value, &value)
  1827  		if err != nil {
  1828  			return nil, err
  1829  		}
  1830  		values = append(values, value...)
  1831  		if n >= 0 {
  1832  			n--
  1833  		}
  1834  		if n == 0 || len(paging.NextLink) == 0 {
  1835  			return values, nil
  1836  		}
  1837  		req, err = http.NewRequest("GET", paging.NextLink, nil)
  1838  		if ctx != nil {
  1839  			req = req.WithContext(ctx)
  1840  		}
  1841  		res, err = r.client.Do(req)
  1842  		if err != nil {
  1843  			return nil, err
  1844  		}
  1845  	}
  1846  }
  1847  
  1848  // GetN performs GET request for PaymentMethod collection, max N pages
  1849  func (r *CompanyPaymentMethodsCollectionRequest) GetN(ctx context.Context, n int) ([]PaymentMethod, error) {
  1850  	var query string
  1851  	if r.query != nil {
  1852  		query = "?" + r.query.Encode()
  1853  	}
  1854  	return r.Paging(ctx, "GET", query, nil, n)
  1855  }
  1856  
  1857  // Get performs GET request for PaymentMethod collection
  1858  func (r *CompanyPaymentMethodsCollectionRequest) Get(ctx context.Context) ([]PaymentMethod, error) {
  1859  	return r.GetN(ctx, 0)
  1860  }
  1861  
  1862  // Add performs POST request for PaymentMethod collection
  1863  func (r *CompanyPaymentMethodsCollectionRequest) Add(ctx context.Context, reqObj *PaymentMethod) (resObj *PaymentMethod, err error) {
  1864  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
  1865  	return
  1866  }
  1867  
  1868  // PaymentTerms returns request builder for PaymentTerm collection
  1869  func (b *CompanyRequestBuilder) PaymentTerms() *CompanyPaymentTermsCollectionRequestBuilder {
  1870  	bb := &CompanyPaymentTermsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  1871  	bb.baseURL += "/paymentTerms"
  1872  	return bb
  1873  }
  1874  
  1875  // CompanyPaymentTermsCollectionRequestBuilder is request builder for PaymentTerm collection
  1876  type CompanyPaymentTermsCollectionRequestBuilder struct{ BaseRequestBuilder }
  1877  
  1878  // Request returns request for PaymentTerm collection
  1879  func (b *CompanyPaymentTermsCollectionRequestBuilder) Request() *CompanyPaymentTermsCollectionRequest {
  1880  	return &CompanyPaymentTermsCollectionRequest{
  1881  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
  1882  	}
  1883  }
  1884  
  1885  // ID returns request builder for PaymentTerm item
  1886  func (b *CompanyPaymentTermsCollectionRequestBuilder) ID(id string) *PaymentTermRequestBuilder {
  1887  	bb := &PaymentTermRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  1888  	bb.baseURL += "/" + id
  1889  	return bb
  1890  }
  1891  
  1892  // CompanyPaymentTermsCollectionRequest is request for PaymentTerm collection
  1893  type CompanyPaymentTermsCollectionRequest struct{ BaseRequest }
  1894  
  1895  // Paging perfoms paging operation for PaymentTerm collection
  1896  func (r *CompanyPaymentTermsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]PaymentTerm, error) {
  1897  	req, err := r.NewJSONRequest(method, path, obj)
  1898  	if err != nil {
  1899  		return nil, err
  1900  	}
  1901  	if ctx != nil {
  1902  		req = req.WithContext(ctx)
  1903  	}
  1904  	res, err := r.client.Do(req)
  1905  	if err != nil {
  1906  		return nil, err
  1907  	}
  1908  	var values []PaymentTerm
  1909  	for {
  1910  		if res.StatusCode != http.StatusOK {
  1911  			b, _ := ioutil.ReadAll(res.Body)
  1912  			res.Body.Close()
  1913  			errRes := &ErrorResponse{Response: res}
  1914  			err := jsonx.Unmarshal(b, errRes)
  1915  			if err != nil {
  1916  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
  1917  			}
  1918  			return nil, errRes
  1919  		}
  1920  		var (
  1921  			paging Paging
  1922  			value  []PaymentTerm
  1923  		)
  1924  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
  1925  		res.Body.Close()
  1926  		if err != nil {
  1927  			return nil, err
  1928  		}
  1929  		err = jsonx.Unmarshal(paging.Value, &value)
  1930  		if err != nil {
  1931  			return nil, err
  1932  		}
  1933  		values = append(values, value...)
  1934  		if n >= 0 {
  1935  			n--
  1936  		}
  1937  		if n == 0 || len(paging.NextLink) == 0 {
  1938  			return values, nil
  1939  		}
  1940  		req, err = http.NewRequest("GET", paging.NextLink, nil)
  1941  		if ctx != nil {
  1942  			req = req.WithContext(ctx)
  1943  		}
  1944  		res, err = r.client.Do(req)
  1945  		if err != nil {
  1946  			return nil, err
  1947  		}
  1948  	}
  1949  }
  1950  
  1951  // GetN performs GET request for PaymentTerm collection, max N pages
  1952  func (r *CompanyPaymentTermsCollectionRequest) GetN(ctx context.Context, n int) ([]PaymentTerm, error) {
  1953  	var query string
  1954  	if r.query != nil {
  1955  		query = "?" + r.query.Encode()
  1956  	}
  1957  	return r.Paging(ctx, "GET", query, nil, n)
  1958  }
  1959  
  1960  // Get performs GET request for PaymentTerm collection
  1961  func (r *CompanyPaymentTermsCollectionRequest) Get(ctx context.Context) ([]PaymentTerm, error) {
  1962  	return r.GetN(ctx, 0)
  1963  }
  1964  
  1965  // Add performs POST request for PaymentTerm collection
  1966  func (r *CompanyPaymentTermsCollectionRequest) Add(ctx context.Context, reqObj *PaymentTerm) (resObj *PaymentTerm, err error) {
  1967  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
  1968  	return
  1969  }
  1970  
  1971  // Picture returns request builder for Picture collection
  1972  func (b *CompanyRequestBuilder) Picture() *CompanyPictureCollectionRequestBuilder {
  1973  	bb := &CompanyPictureCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  1974  	bb.baseURL += "/picture"
  1975  	return bb
  1976  }
  1977  
  1978  // CompanyPictureCollectionRequestBuilder is request builder for Picture collection
  1979  type CompanyPictureCollectionRequestBuilder struct{ BaseRequestBuilder }
  1980  
  1981  // Request returns request for Picture collection
  1982  func (b *CompanyPictureCollectionRequestBuilder) Request() *CompanyPictureCollectionRequest {
  1983  	return &CompanyPictureCollectionRequest{
  1984  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
  1985  	}
  1986  }
  1987  
  1988  // ID returns request builder for Picture item
  1989  func (b *CompanyPictureCollectionRequestBuilder) ID(id string) *PictureRequestBuilder {
  1990  	bb := &PictureRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  1991  	bb.baseURL += "/" + id
  1992  	return bb
  1993  }
  1994  
  1995  // CompanyPictureCollectionRequest is request for Picture collection
  1996  type CompanyPictureCollectionRequest struct{ BaseRequest }
  1997  
  1998  // Paging perfoms paging operation for Picture collection
  1999  func (r *CompanyPictureCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]Picture, error) {
  2000  	req, err := r.NewJSONRequest(method, path, obj)
  2001  	if err != nil {
  2002  		return nil, err
  2003  	}
  2004  	if ctx != nil {
  2005  		req = req.WithContext(ctx)
  2006  	}
  2007  	res, err := r.client.Do(req)
  2008  	if err != nil {
  2009  		return nil, err
  2010  	}
  2011  	var values []Picture
  2012  	for {
  2013  		if res.StatusCode != http.StatusOK {
  2014  			b, _ := ioutil.ReadAll(res.Body)
  2015  			res.Body.Close()
  2016  			errRes := &ErrorResponse{Response: res}
  2017  			err := jsonx.Unmarshal(b, errRes)
  2018  			if err != nil {
  2019  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
  2020  			}
  2021  			return nil, errRes
  2022  		}
  2023  		var (
  2024  			paging Paging
  2025  			value  []Picture
  2026  		)
  2027  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
  2028  		res.Body.Close()
  2029  		if err != nil {
  2030  			return nil, err
  2031  		}
  2032  		err = jsonx.Unmarshal(paging.Value, &value)
  2033  		if err != nil {
  2034  			return nil, err
  2035  		}
  2036  		values = append(values, value...)
  2037  		if n >= 0 {
  2038  			n--
  2039  		}
  2040  		if n == 0 || len(paging.NextLink) == 0 {
  2041  			return values, nil
  2042  		}
  2043  		req, err = http.NewRequest("GET", paging.NextLink, nil)
  2044  		if ctx != nil {
  2045  			req = req.WithContext(ctx)
  2046  		}
  2047  		res, err = r.client.Do(req)
  2048  		if err != nil {
  2049  			return nil, err
  2050  		}
  2051  	}
  2052  }
  2053  
  2054  // GetN performs GET request for Picture collection, max N pages
  2055  func (r *CompanyPictureCollectionRequest) GetN(ctx context.Context, n int) ([]Picture, error) {
  2056  	var query string
  2057  	if r.query != nil {
  2058  		query = "?" + r.query.Encode()
  2059  	}
  2060  	return r.Paging(ctx, "GET", query, nil, n)
  2061  }
  2062  
  2063  // Get performs GET request for Picture collection
  2064  func (r *CompanyPictureCollectionRequest) Get(ctx context.Context) ([]Picture, error) {
  2065  	return r.GetN(ctx, 0)
  2066  }
  2067  
  2068  // Add performs POST request for Picture collection
  2069  func (r *CompanyPictureCollectionRequest) Add(ctx context.Context, reqObj *Picture) (resObj *Picture, err error) {
  2070  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
  2071  	return
  2072  }
  2073  
  2074  // PurchaseInvoiceLines returns request builder for PurchaseInvoiceLine collection
  2075  func (b *CompanyRequestBuilder) PurchaseInvoiceLines() *CompanyPurchaseInvoiceLinesCollectionRequestBuilder {
  2076  	bb := &CompanyPurchaseInvoiceLinesCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  2077  	bb.baseURL += "/purchaseInvoiceLines"
  2078  	return bb
  2079  }
  2080  
  2081  // CompanyPurchaseInvoiceLinesCollectionRequestBuilder is request builder for PurchaseInvoiceLine collection
  2082  type CompanyPurchaseInvoiceLinesCollectionRequestBuilder struct{ BaseRequestBuilder }
  2083  
  2084  // Request returns request for PurchaseInvoiceLine collection
  2085  func (b *CompanyPurchaseInvoiceLinesCollectionRequestBuilder) Request() *CompanyPurchaseInvoiceLinesCollectionRequest {
  2086  	return &CompanyPurchaseInvoiceLinesCollectionRequest{
  2087  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
  2088  	}
  2089  }
  2090  
  2091  // ID returns request builder for PurchaseInvoiceLine item
  2092  func (b *CompanyPurchaseInvoiceLinesCollectionRequestBuilder) ID(id string) *PurchaseInvoiceLineRequestBuilder {
  2093  	bb := &PurchaseInvoiceLineRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  2094  	bb.baseURL += "/" + id
  2095  	return bb
  2096  }
  2097  
  2098  // CompanyPurchaseInvoiceLinesCollectionRequest is request for PurchaseInvoiceLine collection
  2099  type CompanyPurchaseInvoiceLinesCollectionRequest struct{ BaseRequest }
  2100  
  2101  // Paging perfoms paging operation for PurchaseInvoiceLine collection
  2102  func (r *CompanyPurchaseInvoiceLinesCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]PurchaseInvoiceLine, error) {
  2103  	req, err := r.NewJSONRequest(method, path, obj)
  2104  	if err != nil {
  2105  		return nil, err
  2106  	}
  2107  	if ctx != nil {
  2108  		req = req.WithContext(ctx)
  2109  	}
  2110  	res, err := r.client.Do(req)
  2111  	if err != nil {
  2112  		return nil, err
  2113  	}
  2114  	var values []PurchaseInvoiceLine
  2115  	for {
  2116  		if res.StatusCode != http.StatusOK {
  2117  			b, _ := ioutil.ReadAll(res.Body)
  2118  			res.Body.Close()
  2119  			errRes := &ErrorResponse{Response: res}
  2120  			err := jsonx.Unmarshal(b, errRes)
  2121  			if err != nil {
  2122  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
  2123  			}
  2124  			return nil, errRes
  2125  		}
  2126  		var (
  2127  			paging Paging
  2128  			value  []PurchaseInvoiceLine
  2129  		)
  2130  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
  2131  		res.Body.Close()
  2132  		if err != nil {
  2133  			return nil, err
  2134  		}
  2135  		err = jsonx.Unmarshal(paging.Value, &value)
  2136  		if err != nil {
  2137  			return nil, err
  2138  		}
  2139  		values = append(values, value...)
  2140  		if n >= 0 {
  2141  			n--
  2142  		}
  2143  		if n == 0 || len(paging.NextLink) == 0 {
  2144  			return values, nil
  2145  		}
  2146  		req, err = http.NewRequest("GET", paging.NextLink, nil)
  2147  		if ctx != nil {
  2148  			req = req.WithContext(ctx)
  2149  		}
  2150  		res, err = r.client.Do(req)
  2151  		if err != nil {
  2152  			return nil, err
  2153  		}
  2154  	}
  2155  }
  2156  
  2157  // GetN performs GET request for PurchaseInvoiceLine collection, max N pages
  2158  func (r *CompanyPurchaseInvoiceLinesCollectionRequest) GetN(ctx context.Context, n int) ([]PurchaseInvoiceLine, error) {
  2159  	var query string
  2160  	if r.query != nil {
  2161  		query = "?" + r.query.Encode()
  2162  	}
  2163  	return r.Paging(ctx, "GET", query, nil, n)
  2164  }
  2165  
  2166  // Get performs GET request for PurchaseInvoiceLine collection
  2167  func (r *CompanyPurchaseInvoiceLinesCollectionRequest) Get(ctx context.Context) ([]PurchaseInvoiceLine, error) {
  2168  	return r.GetN(ctx, 0)
  2169  }
  2170  
  2171  // Add performs POST request for PurchaseInvoiceLine collection
  2172  func (r *CompanyPurchaseInvoiceLinesCollectionRequest) Add(ctx context.Context, reqObj *PurchaseInvoiceLine) (resObj *PurchaseInvoiceLine, err error) {
  2173  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
  2174  	return
  2175  }
  2176  
  2177  // PurchaseInvoices returns request builder for PurchaseInvoice collection
  2178  func (b *CompanyRequestBuilder) PurchaseInvoices() *CompanyPurchaseInvoicesCollectionRequestBuilder {
  2179  	bb := &CompanyPurchaseInvoicesCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  2180  	bb.baseURL += "/purchaseInvoices"
  2181  	return bb
  2182  }
  2183  
  2184  // CompanyPurchaseInvoicesCollectionRequestBuilder is request builder for PurchaseInvoice collection
  2185  type CompanyPurchaseInvoicesCollectionRequestBuilder struct{ BaseRequestBuilder }
  2186  
  2187  // Request returns request for PurchaseInvoice collection
  2188  func (b *CompanyPurchaseInvoicesCollectionRequestBuilder) Request() *CompanyPurchaseInvoicesCollectionRequest {
  2189  	return &CompanyPurchaseInvoicesCollectionRequest{
  2190  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
  2191  	}
  2192  }
  2193  
  2194  // ID returns request builder for PurchaseInvoice item
  2195  func (b *CompanyPurchaseInvoicesCollectionRequestBuilder) ID(id string) *PurchaseInvoiceRequestBuilder {
  2196  	bb := &PurchaseInvoiceRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  2197  	bb.baseURL += "/" + id
  2198  	return bb
  2199  }
  2200  
  2201  // CompanyPurchaseInvoicesCollectionRequest is request for PurchaseInvoice collection
  2202  type CompanyPurchaseInvoicesCollectionRequest struct{ BaseRequest }
  2203  
  2204  // Paging perfoms paging operation for PurchaseInvoice collection
  2205  func (r *CompanyPurchaseInvoicesCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]PurchaseInvoice, error) {
  2206  	req, err := r.NewJSONRequest(method, path, obj)
  2207  	if err != nil {
  2208  		return nil, err
  2209  	}
  2210  	if ctx != nil {
  2211  		req = req.WithContext(ctx)
  2212  	}
  2213  	res, err := r.client.Do(req)
  2214  	if err != nil {
  2215  		return nil, err
  2216  	}
  2217  	var values []PurchaseInvoice
  2218  	for {
  2219  		if res.StatusCode != http.StatusOK {
  2220  			b, _ := ioutil.ReadAll(res.Body)
  2221  			res.Body.Close()
  2222  			errRes := &ErrorResponse{Response: res}
  2223  			err := jsonx.Unmarshal(b, errRes)
  2224  			if err != nil {
  2225  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
  2226  			}
  2227  			return nil, errRes
  2228  		}
  2229  		var (
  2230  			paging Paging
  2231  			value  []PurchaseInvoice
  2232  		)
  2233  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
  2234  		res.Body.Close()
  2235  		if err != nil {
  2236  			return nil, err
  2237  		}
  2238  		err = jsonx.Unmarshal(paging.Value, &value)
  2239  		if err != nil {
  2240  			return nil, err
  2241  		}
  2242  		values = append(values, value...)
  2243  		if n >= 0 {
  2244  			n--
  2245  		}
  2246  		if n == 0 || len(paging.NextLink) == 0 {
  2247  			return values, nil
  2248  		}
  2249  		req, err = http.NewRequest("GET", paging.NextLink, nil)
  2250  		if ctx != nil {
  2251  			req = req.WithContext(ctx)
  2252  		}
  2253  		res, err = r.client.Do(req)
  2254  		if err != nil {
  2255  			return nil, err
  2256  		}
  2257  	}
  2258  }
  2259  
  2260  // GetN performs GET request for PurchaseInvoice collection, max N pages
  2261  func (r *CompanyPurchaseInvoicesCollectionRequest) GetN(ctx context.Context, n int) ([]PurchaseInvoice, error) {
  2262  	var query string
  2263  	if r.query != nil {
  2264  		query = "?" + r.query.Encode()
  2265  	}
  2266  	return r.Paging(ctx, "GET", query, nil, n)
  2267  }
  2268  
  2269  // Get performs GET request for PurchaseInvoice collection
  2270  func (r *CompanyPurchaseInvoicesCollectionRequest) Get(ctx context.Context) ([]PurchaseInvoice, error) {
  2271  	return r.GetN(ctx, 0)
  2272  }
  2273  
  2274  // Add performs POST request for PurchaseInvoice collection
  2275  func (r *CompanyPurchaseInvoicesCollectionRequest) Add(ctx context.Context, reqObj *PurchaseInvoice) (resObj *PurchaseInvoice, err error) {
  2276  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
  2277  	return
  2278  }
  2279  
  2280  // SalesCreditMemoLines returns request builder for SalesCreditMemoLine collection
  2281  func (b *CompanyRequestBuilder) SalesCreditMemoLines() *CompanySalesCreditMemoLinesCollectionRequestBuilder {
  2282  	bb := &CompanySalesCreditMemoLinesCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  2283  	bb.baseURL += "/salesCreditMemoLines"
  2284  	return bb
  2285  }
  2286  
  2287  // CompanySalesCreditMemoLinesCollectionRequestBuilder is request builder for SalesCreditMemoLine collection
  2288  type CompanySalesCreditMemoLinesCollectionRequestBuilder struct{ BaseRequestBuilder }
  2289  
  2290  // Request returns request for SalesCreditMemoLine collection
  2291  func (b *CompanySalesCreditMemoLinesCollectionRequestBuilder) Request() *CompanySalesCreditMemoLinesCollectionRequest {
  2292  	return &CompanySalesCreditMemoLinesCollectionRequest{
  2293  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
  2294  	}
  2295  }
  2296  
  2297  // ID returns request builder for SalesCreditMemoLine item
  2298  func (b *CompanySalesCreditMemoLinesCollectionRequestBuilder) ID(id string) *SalesCreditMemoLineRequestBuilder {
  2299  	bb := &SalesCreditMemoLineRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  2300  	bb.baseURL += "/" + id
  2301  	return bb
  2302  }
  2303  
  2304  // CompanySalesCreditMemoLinesCollectionRequest is request for SalesCreditMemoLine collection
  2305  type CompanySalesCreditMemoLinesCollectionRequest struct{ BaseRequest }
  2306  
  2307  // Paging perfoms paging operation for SalesCreditMemoLine collection
  2308  func (r *CompanySalesCreditMemoLinesCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]SalesCreditMemoLine, error) {
  2309  	req, err := r.NewJSONRequest(method, path, obj)
  2310  	if err != nil {
  2311  		return nil, err
  2312  	}
  2313  	if ctx != nil {
  2314  		req = req.WithContext(ctx)
  2315  	}
  2316  	res, err := r.client.Do(req)
  2317  	if err != nil {
  2318  		return nil, err
  2319  	}
  2320  	var values []SalesCreditMemoLine
  2321  	for {
  2322  		if res.StatusCode != http.StatusOK {
  2323  			b, _ := ioutil.ReadAll(res.Body)
  2324  			res.Body.Close()
  2325  			errRes := &ErrorResponse{Response: res}
  2326  			err := jsonx.Unmarshal(b, errRes)
  2327  			if err != nil {
  2328  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
  2329  			}
  2330  			return nil, errRes
  2331  		}
  2332  		var (
  2333  			paging Paging
  2334  			value  []SalesCreditMemoLine
  2335  		)
  2336  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
  2337  		res.Body.Close()
  2338  		if err != nil {
  2339  			return nil, err
  2340  		}
  2341  		err = jsonx.Unmarshal(paging.Value, &value)
  2342  		if err != nil {
  2343  			return nil, err
  2344  		}
  2345  		values = append(values, value...)
  2346  		if n >= 0 {
  2347  			n--
  2348  		}
  2349  		if n == 0 || len(paging.NextLink) == 0 {
  2350  			return values, nil
  2351  		}
  2352  		req, err = http.NewRequest("GET", paging.NextLink, nil)
  2353  		if ctx != nil {
  2354  			req = req.WithContext(ctx)
  2355  		}
  2356  		res, err = r.client.Do(req)
  2357  		if err != nil {
  2358  			return nil, err
  2359  		}
  2360  	}
  2361  }
  2362  
  2363  // GetN performs GET request for SalesCreditMemoLine collection, max N pages
  2364  func (r *CompanySalesCreditMemoLinesCollectionRequest) GetN(ctx context.Context, n int) ([]SalesCreditMemoLine, error) {
  2365  	var query string
  2366  	if r.query != nil {
  2367  		query = "?" + r.query.Encode()
  2368  	}
  2369  	return r.Paging(ctx, "GET", query, nil, n)
  2370  }
  2371  
  2372  // Get performs GET request for SalesCreditMemoLine collection
  2373  func (r *CompanySalesCreditMemoLinesCollectionRequest) Get(ctx context.Context) ([]SalesCreditMemoLine, error) {
  2374  	return r.GetN(ctx, 0)
  2375  }
  2376  
  2377  // Add performs POST request for SalesCreditMemoLine collection
  2378  func (r *CompanySalesCreditMemoLinesCollectionRequest) Add(ctx context.Context, reqObj *SalesCreditMemoLine) (resObj *SalesCreditMemoLine, err error) {
  2379  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
  2380  	return
  2381  }
  2382  
  2383  // SalesCreditMemos returns request builder for SalesCreditMemo collection
  2384  func (b *CompanyRequestBuilder) SalesCreditMemos() *CompanySalesCreditMemosCollectionRequestBuilder {
  2385  	bb := &CompanySalesCreditMemosCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  2386  	bb.baseURL += "/salesCreditMemos"
  2387  	return bb
  2388  }
  2389  
  2390  // CompanySalesCreditMemosCollectionRequestBuilder is request builder for SalesCreditMemo collection
  2391  type CompanySalesCreditMemosCollectionRequestBuilder struct{ BaseRequestBuilder }
  2392  
  2393  // Request returns request for SalesCreditMemo collection
  2394  func (b *CompanySalesCreditMemosCollectionRequestBuilder) Request() *CompanySalesCreditMemosCollectionRequest {
  2395  	return &CompanySalesCreditMemosCollectionRequest{
  2396  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
  2397  	}
  2398  }
  2399  
  2400  // ID returns request builder for SalesCreditMemo item
  2401  func (b *CompanySalesCreditMemosCollectionRequestBuilder) ID(id string) *SalesCreditMemoRequestBuilder {
  2402  	bb := &SalesCreditMemoRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  2403  	bb.baseURL += "/" + id
  2404  	return bb
  2405  }
  2406  
  2407  // CompanySalesCreditMemosCollectionRequest is request for SalesCreditMemo collection
  2408  type CompanySalesCreditMemosCollectionRequest struct{ BaseRequest }
  2409  
  2410  // Paging perfoms paging operation for SalesCreditMemo collection
  2411  func (r *CompanySalesCreditMemosCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]SalesCreditMemo, error) {
  2412  	req, err := r.NewJSONRequest(method, path, obj)
  2413  	if err != nil {
  2414  		return nil, err
  2415  	}
  2416  	if ctx != nil {
  2417  		req = req.WithContext(ctx)
  2418  	}
  2419  	res, err := r.client.Do(req)
  2420  	if err != nil {
  2421  		return nil, err
  2422  	}
  2423  	var values []SalesCreditMemo
  2424  	for {
  2425  		if res.StatusCode != http.StatusOK {
  2426  			b, _ := ioutil.ReadAll(res.Body)
  2427  			res.Body.Close()
  2428  			errRes := &ErrorResponse{Response: res}
  2429  			err := jsonx.Unmarshal(b, errRes)
  2430  			if err != nil {
  2431  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
  2432  			}
  2433  			return nil, errRes
  2434  		}
  2435  		var (
  2436  			paging Paging
  2437  			value  []SalesCreditMemo
  2438  		)
  2439  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
  2440  		res.Body.Close()
  2441  		if err != nil {
  2442  			return nil, err
  2443  		}
  2444  		err = jsonx.Unmarshal(paging.Value, &value)
  2445  		if err != nil {
  2446  			return nil, err
  2447  		}
  2448  		values = append(values, value...)
  2449  		if n >= 0 {
  2450  			n--
  2451  		}
  2452  		if n == 0 || len(paging.NextLink) == 0 {
  2453  			return values, nil
  2454  		}
  2455  		req, err = http.NewRequest("GET", paging.NextLink, nil)
  2456  		if ctx != nil {
  2457  			req = req.WithContext(ctx)
  2458  		}
  2459  		res, err = r.client.Do(req)
  2460  		if err != nil {
  2461  			return nil, err
  2462  		}
  2463  	}
  2464  }
  2465  
  2466  // GetN performs GET request for SalesCreditMemo collection, max N pages
  2467  func (r *CompanySalesCreditMemosCollectionRequest) GetN(ctx context.Context, n int) ([]SalesCreditMemo, error) {
  2468  	var query string
  2469  	if r.query != nil {
  2470  		query = "?" + r.query.Encode()
  2471  	}
  2472  	return r.Paging(ctx, "GET", query, nil, n)
  2473  }
  2474  
  2475  // Get performs GET request for SalesCreditMemo collection
  2476  func (r *CompanySalesCreditMemosCollectionRequest) Get(ctx context.Context) ([]SalesCreditMemo, error) {
  2477  	return r.GetN(ctx, 0)
  2478  }
  2479  
  2480  // Add performs POST request for SalesCreditMemo collection
  2481  func (r *CompanySalesCreditMemosCollectionRequest) Add(ctx context.Context, reqObj *SalesCreditMemo) (resObj *SalesCreditMemo, err error) {
  2482  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
  2483  	return
  2484  }
  2485  
  2486  // SalesInvoiceLines returns request builder for SalesInvoiceLine collection
  2487  func (b *CompanyRequestBuilder) SalesInvoiceLines() *CompanySalesInvoiceLinesCollectionRequestBuilder {
  2488  	bb := &CompanySalesInvoiceLinesCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  2489  	bb.baseURL += "/salesInvoiceLines"
  2490  	return bb
  2491  }
  2492  
  2493  // CompanySalesInvoiceLinesCollectionRequestBuilder is request builder for SalesInvoiceLine collection
  2494  type CompanySalesInvoiceLinesCollectionRequestBuilder struct{ BaseRequestBuilder }
  2495  
  2496  // Request returns request for SalesInvoiceLine collection
  2497  func (b *CompanySalesInvoiceLinesCollectionRequestBuilder) Request() *CompanySalesInvoiceLinesCollectionRequest {
  2498  	return &CompanySalesInvoiceLinesCollectionRequest{
  2499  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
  2500  	}
  2501  }
  2502  
  2503  // ID returns request builder for SalesInvoiceLine item
  2504  func (b *CompanySalesInvoiceLinesCollectionRequestBuilder) ID(id string) *SalesInvoiceLineRequestBuilder {
  2505  	bb := &SalesInvoiceLineRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  2506  	bb.baseURL += "/" + id
  2507  	return bb
  2508  }
  2509  
  2510  // CompanySalesInvoiceLinesCollectionRequest is request for SalesInvoiceLine collection
  2511  type CompanySalesInvoiceLinesCollectionRequest struct{ BaseRequest }
  2512  
  2513  // Paging perfoms paging operation for SalesInvoiceLine collection
  2514  func (r *CompanySalesInvoiceLinesCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]SalesInvoiceLine, error) {
  2515  	req, err := r.NewJSONRequest(method, path, obj)
  2516  	if err != nil {
  2517  		return nil, err
  2518  	}
  2519  	if ctx != nil {
  2520  		req = req.WithContext(ctx)
  2521  	}
  2522  	res, err := r.client.Do(req)
  2523  	if err != nil {
  2524  		return nil, err
  2525  	}
  2526  	var values []SalesInvoiceLine
  2527  	for {
  2528  		if res.StatusCode != http.StatusOK {
  2529  			b, _ := ioutil.ReadAll(res.Body)
  2530  			res.Body.Close()
  2531  			errRes := &ErrorResponse{Response: res}
  2532  			err := jsonx.Unmarshal(b, errRes)
  2533  			if err != nil {
  2534  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
  2535  			}
  2536  			return nil, errRes
  2537  		}
  2538  		var (
  2539  			paging Paging
  2540  			value  []SalesInvoiceLine
  2541  		)
  2542  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
  2543  		res.Body.Close()
  2544  		if err != nil {
  2545  			return nil, err
  2546  		}
  2547  		err = jsonx.Unmarshal(paging.Value, &value)
  2548  		if err != nil {
  2549  			return nil, err
  2550  		}
  2551  		values = append(values, value...)
  2552  		if n >= 0 {
  2553  			n--
  2554  		}
  2555  		if n == 0 || len(paging.NextLink) == 0 {
  2556  			return values, nil
  2557  		}
  2558  		req, err = http.NewRequest("GET", paging.NextLink, nil)
  2559  		if ctx != nil {
  2560  			req = req.WithContext(ctx)
  2561  		}
  2562  		res, err = r.client.Do(req)
  2563  		if err != nil {
  2564  			return nil, err
  2565  		}
  2566  	}
  2567  }
  2568  
  2569  // GetN performs GET request for SalesInvoiceLine collection, max N pages
  2570  func (r *CompanySalesInvoiceLinesCollectionRequest) GetN(ctx context.Context, n int) ([]SalesInvoiceLine, error) {
  2571  	var query string
  2572  	if r.query != nil {
  2573  		query = "?" + r.query.Encode()
  2574  	}
  2575  	return r.Paging(ctx, "GET", query, nil, n)
  2576  }
  2577  
  2578  // Get performs GET request for SalesInvoiceLine collection
  2579  func (r *CompanySalesInvoiceLinesCollectionRequest) Get(ctx context.Context) ([]SalesInvoiceLine, error) {
  2580  	return r.GetN(ctx, 0)
  2581  }
  2582  
  2583  // Add performs POST request for SalesInvoiceLine collection
  2584  func (r *CompanySalesInvoiceLinesCollectionRequest) Add(ctx context.Context, reqObj *SalesInvoiceLine) (resObj *SalesInvoiceLine, err error) {
  2585  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
  2586  	return
  2587  }
  2588  
  2589  // SalesInvoices returns request builder for SalesInvoice collection
  2590  func (b *CompanyRequestBuilder) SalesInvoices() *CompanySalesInvoicesCollectionRequestBuilder {
  2591  	bb := &CompanySalesInvoicesCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  2592  	bb.baseURL += "/salesInvoices"
  2593  	return bb
  2594  }
  2595  
  2596  // CompanySalesInvoicesCollectionRequestBuilder is request builder for SalesInvoice collection
  2597  type CompanySalesInvoicesCollectionRequestBuilder struct{ BaseRequestBuilder }
  2598  
  2599  // Request returns request for SalesInvoice collection
  2600  func (b *CompanySalesInvoicesCollectionRequestBuilder) Request() *CompanySalesInvoicesCollectionRequest {
  2601  	return &CompanySalesInvoicesCollectionRequest{
  2602  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
  2603  	}
  2604  }
  2605  
  2606  // ID returns request builder for SalesInvoice item
  2607  func (b *CompanySalesInvoicesCollectionRequestBuilder) ID(id string) *SalesInvoiceRequestBuilder {
  2608  	bb := &SalesInvoiceRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  2609  	bb.baseURL += "/" + id
  2610  	return bb
  2611  }
  2612  
  2613  // CompanySalesInvoicesCollectionRequest is request for SalesInvoice collection
  2614  type CompanySalesInvoicesCollectionRequest struct{ BaseRequest }
  2615  
  2616  // Paging perfoms paging operation for SalesInvoice collection
  2617  func (r *CompanySalesInvoicesCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]SalesInvoice, error) {
  2618  	req, err := r.NewJSONRequest(method, path, obj)
  2619  	if err != nil {
  2620  		return nil, err
  2621  	}
  2622  	if ctx != nil {
  2623  		req = req.WithContext(ctx)
  2624  	}
  2625  	res, err := r.client.Do(req)
  2626  	if err != nil {
  2627  		return nil, err
  2628  	}
  2629  	var values []SalesInvoice
  2630  	for {
  2631  		if res.StatusCode != http.StatusOK {
  2632  			b, _ := ioutil.ReadAll(res.Body)
  2633  			res.Body.Close()
  2634  			errRes := &ErrorResponse{Response: res}
  2635  			err := jsonx.Unmarshal(b, errRes)
  2636  			if err != nil {
  2637  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
  2638  			}
  2639  			return nil, errRes
  2640  		}
  2641  		var (
  2642  			paging Paging
  2643  			value  []SalesInvoice
  2644  		)
  2645  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
  2646  		res.Body.Close()
  2647  		if err != nil {
  2648  			return nil, err
  2649  		}
  2650  		err = jsonx.Unmarshal(paging.Value, &value)
  2651  		if err != nil {
  2652  			return nil, err
  2653  		}
  2654  		values = append(values, value...)
  2655  		if n >= 0 {
  2656  			n--
  2657  		}
  2658  		if n == 0 || len(paging.NextLink) == 0 {
  2659  			return values, nil
  2660  		}
  2661  		req, err = http.NewRequest("GET", paging.NextLink, nil)
  2662  		if ctx != nil {
  2663  			req = req.WithContext(ctx)
  2664  		}
  2665  		res, err = r.client.Do(req)
  2666  		if err != nil {
  2667  			return nil, err
  2668  		}
  2669  	}
  2670  }
  2671  
  2672  // GetN performs GET request for SalesInvoice collection, max N pages
  2673  func (r *CompanySalesInvoicesCollectionRequest) GetN(ctx context.Context, n int) ([]SalesInvoice, error) {
  2674  	var query string
  2675  	if r.query != nil {
  2676  		query = "?" + r.query.Encode()
  2677  	}
  2678  	return r.Paging(ctx, "GET", query, nil, n)
  2679  }
  2680  
  2681  // Get performs GET request for SalesInvoice collection
  2682  func (r *CompanySalesInvoicesCollectionRequest) Get(ctx context.Context) ([]SalesInvoice, error) {
  2683  	return r.GetN(ctx, 0)
  2684  }
  2685  
  2686  // Add performs POST request for SalesInvoice collection
  2687  func (r *CompanySalesInvoicesCollectionRequest) Add(ctx context.Context, reqObj *SalesInvoice) (resObj *SalesInvoice, err error) {
  2688  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
  2689  	return
  2690  }
  2691  
  2692  // SalesOrderLines returns request builder for SalesOrderLine collection
  2693  func (b *CompanyRequestBuilder) SalesOrderLines() *CompanySalesOrderLinesCollectionRequestBuilder {
  2694  	bb := &CompanySalesOrderLinesCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  2695  	bb.baseURL += "/salesOrderLines"
  2696  	return bb
  2697  }
  2698  
  2699  // CompanySalesOrderLinesCollectionRequestBuilder is request builder for SalesOrderLine collection
  2700  type CompanySalesOrderLinesCollectionRequestBuilder struct{ BaseRequestBuilder }
  2701  
  2702  // Request returns request for SalesOrderLine collection
  2703  func (b *CompanySalesOrderLinesCollectionRequestBuilder) Request() *CompanySalesOrderLinesCollectionRequest {
  2704  	return &CompanySalesOrderLinesCollectionRequest{
  2705  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
  2706  	}
  2707  }
  2708  
  2709  // ID returns request builder for SalesOrderLine item
  2710  func (b *CompanySalesOrderLinesCollectionRequestBuilder) ID(id string) *SalesOrderLineRequestBuilder {
  2711  	bb := &SalesOrderLineRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  2712  	bb.baseURL += "/" + id
  2713  	return bb
  2714  }
  2715  
  2716  // CompanySalesOrderLinesCollectionRequest is request for SalesOrderLine collection
  2717  type CompanySalesOrderLinesCollectionRequest struct{ BaseRequest }
  2718  
  2719  // Paging perfoms paging operation for SalesOrderLine collection
  2720  func (r *CompanySalesOrderLinesCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]SalesOrderLine, error) {
  2721  	req, err := r.NewJSONRequest(method, path, obj)
  2722  	if err != nil {
  2723  		return nil, err
  2724  	}
  2725  	if ctx != nil {
  2726  		req = req.WithContext(ctx)
  2727  	}
  2728  	res, err := r.client.Do(req)
  2729  	if err != nil {
  2730  		return nil, err
  2731  	}
  2732  	var values []SalesOrderLine
  2733  	for {
  2734  		if res.StatusCode != http.StatusOK {
  2735  			b, _ := ioutil.ReadAll(res.Body)
  2736  			res.Body.Close()
  2737  			errRes := &ErrorResponse{Response: res}
  2738  			err := jsonx.Unmarshal(b, errRes)
  2739  			if err != nil {
  2740  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
  2741  			}
  2742  			return nil, errRes
  2743  		}
  2744  		var (
  2745  			paging Paging
  2746  			value  []SalesOrderLine
  2747  		)
  2748  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
  2749  		res.Body.Close()
  2750  		if err != nil {
  2751  			return nil, err
  2752  		}
  2753  		err = jsonx.Unmarshal(paging.Value, &value)
  2754  		if err != nil {
  2755  			return nil, err
  2756  		}
  2757  		values = append(values, value...)
  2758  		if n >= 0 {
  2759  			n--
  2760  		}
  2761  		if n == 0 || len(paging.NextLink) == 0 {
  2762  			return values, nil
  2763  		}
  2764  		req, err = http.NewRequest("GET", paging.NextLink, nil)
  2765  		if ctx != nil {
  2766  			req = req.WithContext(ctx)
  2767  		}
  2768  		res, err = r.client.Do(req)
  2769  		if err != nil {
  2770  			return nil, err
  2771  		}
  2772  	}
  2773  }
  2774  
  2775  // GetN performs GET request for SalesOrderLine collection, max N pages
  2776  func (r *CompanySalesOrderLinesCollectionRequest) GetN(ctx context.Context, n int) ([]SalesOrderLine, error) {
  2777  	var query string
  2778  	if r.query != nil {
  2779  		query = "?" + r.query.Encode()
  2780  	}
  2781  	return r.Paging(ctx, "GET", query, nil, n)
  2782  }
  2783  
  2784  // Get performs GET request for SalesOrderLine collection
  2785  func (r *CompanySalesOrderLinesCollectionRequest) Get(ctx context.Context) ([]SalesOrderLine, error) {
  2786  	return r.GetN(ctx, 0)
  2787  }
  2788  
  2789  // Add performs POST request for SalesOrderLine collection
  2790  func (r *CompanySalesOrderLinesCollectionRequest) Add(ctx context.Context, reqObj *SalesOrderLine) (resObj *SalesOrderLine, err error) {
  2791  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
  2792  	return
  2793  }
  2794  
  2795  // SalesOrders returns request builder for SalesOrder collection
  2796  func (b *CompanyRequestBuilder) SalesOrders() *CompanySalesOrdersCollectionRequestBuilder {
  2797  	bb := &CompanySalesOrdersCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  2798  	bb.baseURL += "/salesOrders"
  2799  	return bb
  2800  }
  2801  
  2802  // CompanySalesOrdersCollectionRequestBuilder is request builder for SalesOrder collection
  2803  type CompanySalesOrdersCollectionRequestBuilder struct{ BaseRequestBuilder }
  2804  
  2805  // Request returns request for SalesOrder collection
  2806  func (b *CompanySalesOrdersCollectionRequestBuilder) Request() *CompanySalesOrdersCollectionRequest {
  2807  	return &CompanySalesOrdersCollectionRequest{
  2808  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
  2809  	}
  2810  }
  2811  
  2812  // ID returns request builder for SalesOrder item
  2813  func (b *CompanySalesOrdersCollectionRequestBuilder) ID(id string) *SalesOrderRequestBuilder {
  2814  	bb := &SalesOrderRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  2815  	bb.baseURL += "/" + id
  2816  	return bb
  2817  }
  2818  
  2819  // CompanySalesOrdersCollectionRequest is request for SalesOrder collection
  2820  type CompanySalesOrdersCollectionRequest struct{ BaseRequest }
  2821  
  2822  // Paging perfoms paging operation for SalesOrder collection
  2823  func (r *CompanySalesOrdersCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]SalesOrder, error) {
  2824  	req, err := r.NewJSONRequest(method, path, obj)
  2825  	if err != nil {
  2826  		return nil, err
  2827  	}
  2828  	if ctx != nil {
  2829  		req = req.WithContext(ctx)
  2830  	}
  2831  	res, err := r.client.Do(req)
  2832  	if err != nil {
  2833  		return nil, err
  2834  	}
  2835  	var values []SalesOrder
  2836  	for {
  2837  		if res.StatusCode != http.StatusOK {
  2838  			b, _ := ioutil.ReadAll(res.Body)
  2839  			res.Body.Close()
  2840  			errRes := &ErrorResponse{Response: res}
  2841  			err := jsonx.Unmarshal(b, errRes)
  2842  			if err != nil {
  2843  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
  2844  			}
  2845  			return nil, errRes
  2846  		}
  2847  		var (
  2848  			paging Paging
  2849  			value  []SalesOrder
  2850  		)
  2851  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
  2852  		res.Body.Close()
  2853  		if err != nil {
  2854  			return nil, err
  2855  		}
  2856  		err = jsonx.Unmarshal(paging.Value, &value)
  2857  		if err != nil {
  2858  			return nil, err
  2859  		}
  2860  		values = append(values, value...)
  2861  		if n >= 0 {
  2862  			n--
  2863  		}
  2864  		if n == 0 || len(paging.NextLink) == 0 {
  2865  			return values, nil
  2866  		}
  2867  		req, err = http.NewRequest("GET", paging.NextLink, nil)
  2868  		if ctx != nil {
  2869  			req = req.WithContext(ctx)
  2870  		}
  2871  		res, err = r.client.Do(req)
  2872  		if err != nil {
  2873  			return nil, err
  2874  		}
  2875  	}
  2876  }
  2877  
  2878  // GetN performs GET request for SalesOrder collection, max N pages
  2879  func (r *CompanySalesOrdersCollectionRequest) GetN(ctx context.Context, n int) ([]SalesOrder, error) {
  2880  	var query string
  2881  	if r.query != nil {
  2882  		query = "?" + r.query.Encode()
  2883  	}
  2884  	return r.Paging(ctx, "GET", query, nil, n)
  2885  }
  2886  
  2887  // Get performs GET request for SalesOrder collection
  2888  func (r *CompanySalesOrdersCollectionRequest) Get(ctx context.Context) ([]SalesOrder, error) {
  2889  	return r.GetN(ctx, 0)
  2890  }
  2891  
  2892  // Add performs POST request for SalesOrder collection
  2893  func (r *CompanySalesOrdersCollectionRequest) Add(ctx context.Context, reqObj *SalesOrder) (resObj *SalesOrder, err error) {
  2894  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
  2895  	return
  2896  }
  2897  
  2898  // SalesQuoteLines returns request builder for SalesQuoteLine collection
  2899  func (b *CompanyRequestBuilder) SalesQuoteLines() *CompanySalesQuoteLinesCollectionRequestBuilder {
  2900  	bb := &CompanySalesQuoteLinesCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  2901  	bb.baseURL += "/salesQuoteLines"
  2902  	return bb
  2903  }
  2904  
  2905  // CompanySalesQuoteLinesCollectionRequestBuilder is request builder for SalesQuoteLine collection
  2906  type CompanySalesQuoteLinesCollectionRequestBuilder struct{ BaseRequestBuilder }
  2907  
  2908  // Request returns request for SalesQuoteLine collection
  2909  func (b *CompanySalesQuoteLinesCollectionRequestBuilder) Request() *CompanySalesQuoteLinesCollectionRequest {
  2910  	return &CompanySalesQuoteLinesCollectionRequest{
  2911  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
  2912  	}
  2913  }
  2914  
  2915  // ID returns request builder for SalesQuoteLine item
  2916  func (b *CompanySalesQuoteLinesCollectionRequestBuilder) ID(id string) *SalesQuoteLineRequestBuilder {
  2917  	bb := &SalesQuoteLineRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  2918  	bb.baseURL += "/" + id
  2919  	return bb
  2920  }
  2921  
  2922  // CompanySalesQuoteLinesCollectionRequest is request for SalesQuoteLine collection
  2923  type CompanySalesQuoteLinesCollectionRequest struct{ BaseRequest }
  2924  
  2925  // Paging perfoms paging operation for SalesQuoteLine collection
  2926  func (r *CompanySalesQuoteLinesCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]SalesQuoteLine, error) {
  2927  	req, err := r.NewJSONRequest(method, path, obj)
  2928  	if err != nil {
  2929  		return nil, err
  2930  	}
  2931  	if ctx != nil {
  2932  		req = req.WithContext(ctx)
  2933  	}
  2934  	res, err := r.client.Do(req)
  2935  	if err != nil {
  2936  		return nil, err
  2937  	}
  2938  	var values []SalesQuoteLine
  2939  	for {
  2940  		if res.StatusCode != http.StatusOK {
  2941  			b, _ := ioutil.ReadAll(res.Body)
  2942  			res.Body.Close()
  2943  			errRes := &ErrorResponse{Response: res}
  2944  			err := jsonx.Unmarshal(b, errRes)
  2945  			if err != nil {
  2946  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
  2947  			}
  2948  			return nil, errRes
  2949  		}
  2950  		var (
  2951  			paging Paging
  2952  			value  []SalesQuoteLine
  2953  		)
  2954  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
  2955  		res.Body.Close()
  2956  		if err != nil {
  2957  			return nil, err
  2958  		}
  2959  		err = jsonx.Unmarshal(paging.Value, &value)
  2960  		if err != nil {
  2961  			return nil, err
  2962  		}
  2963  		values = append(values, value...)
  2964  		if n >= 0 {
  2965  			n--
  2966  		}
  2967  		if n == 0 || len(paging.NextLink) == 0 {
  2968  			return values, nil
  2969  		}
  2970  		req, err = http.NewRequest("GET", paging.NextLink, nil)
  2971  		if ctx != nil {
  2972  			req = req.WithContext(ctx)
  2973  		}
  2974  		res, err = r.client.Do(req)
  2975  		if err != nil {
  2976  			return nil, err
  2977  		}
  2978  	}
  2979  }
  2980  
  2981  // GetN performs GET request for SalesQuoteLine collection, max N pages
  2982  func (r *CompanySalesQuoteLinesCollectionRequest) GetN(ctx context.Context, n int) ([]SalesQuoteLine, error) {
  2983  	var query string
  2984  	if r.query != nil {
  2985  		query = "?" + r.query.Encode()
  2986  	}
  2987  	return r.Paging(ctx, "GET", query, nil, n)
  2988  }
  2989  
  2990  // Get performs GET request for SalesQuoteLine collection
  2991  func (r *CompanySalesQuoteLinesCollectionRequest) Get(ctx context.Context) ([]SalesQuoteLine, error) {
  2992  	return r.GetN(ctx, 0)
  2993  }
  2994  
  2995  // Add performs POST request for SalesQuoteLine collection
  2996  func (r *CompanySalesQuoteLinesCollectionRequest) Add(ctx context.Context, reqObj *SalesQuoteLine) (resObj *SalesQuoteLine, err error) {
  2997  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
  2998  	return
  2999  }
  3000  
  3001  // SalesQuotes returns request builder for SalesQuote collection
  3002  func (b *CompanyRequestBuilder) SalesQuotes() *CompanySalesQuotesCollectionRequestBuilder {
  3003  	bb := &CompanySalesQuotesCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  3004  	bb.baseURL += "/salesQuotes"
  3005  	return bb
  3006  }
  3007  
  3008  // CompanySalesQuotesCollectionRequestBuilder is request builder for SalesQuote collection
  3009  type CompanySalesQuotesCollectionRequestBuilder struct{ BaseRequestBuilder }
  3010  
  3011  // Request returns request for SalesQuote collection
  3012  func (b *CompanySalesQuotesCollectionRequestBuilder) Request() *CompanySalesQuotesCollectionRequest {
  3013  	return &CompanySalesQuotesCollectionRequest{
  3014  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
  3015  	}
  3016  }
  3017  
  3018  // ID returns request builder for SalesQuote item
  3019  func (b *CompanySalesQuotesCollectionRequestBuilder) ID(id string) *SalesQuoteRequestBuilder {
  3020  	bb := &SalesQuoteRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  3021  	bb.baseURL += "/" + id
  3022  	return bb
  3023  }
  3024  
  3025  // CompanySalesQuotesCollectionRequest is request for SalesQuote collection
  3026  type CompanySalesQuotesCollectionRequest struct{ BaseRequest }
  3027  
  3028  // Paging perfoms paging operation for SalesQuote collection
  3029  func (r *CompanySalesQuotesCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]SalesQuote, error) {
  3030  	req, err := r.NewJSONRequest(method, path, obj)
  3031  	if err != nil {
  3032  		return nil, err
  3033  	}
  3034  	if ctx != nil {
  3035  		req = req.WithContext(ctx)
  3036  	}
  3037  	res, err := r.client.Do(req)
  3038  	if err != nil {
  3039  		return nil, err
  3040  	}
  3041  	var values []SalesQuote
  3042  	for {
  3043  		if res.StatusCode != http.StatusOK {
  3044  			b, _ := ioutil.ReadAll(res.Body)
  3045  			res.Body.Close()
  3046  			errRes := &ErrorResponse{Response: res}
  3047  			err := jsonx.Unmarshal(b, errRes)
  3048  			if err != nil {
  3049  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
  3050  			}
  3051  			return nil, errRes
  3052  		}
  3053  		var (
  3054  			paging Paging
  3055  			value  []SalesQuote
  3056  		)
  3057  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
  3058  		res.Body.Close()
  3059  		if err != nil {
  3060  			return nil, err
  3061  		}
  3062  		err = jsonx.Unmarshal(paging.Value, &value)
  3063  		if err != nil {
  3064  			return nil, err
  3065  		}
  3066  		values = append(values, value...)
  3067  		if n >= 0 {
  3068  			n--
  3069  		}
  3070  		if n == 0 || len(paging.NextLink) == 0 {
  3071  			return values, nil
  3072  		}
  3073  		req, err = http.NewRequest("GET", paging.NextLink, nil)
  3074  		if ctx != nil {
  3075  			req = req.WithContext(ctx)
  3076  		}
  3077  		res, err = r.client.Do(req)
  3078  		if err != nil {
  3079  			return nil, err
  3080  		}
  3081  	}
  3082  }
  3083  
  3084  // GetN performs GET request for SalesQuote collection, max N pages
  3085  func (r *CompanySalesQuotesCollectionRequest) GetN(ctx context.Context, n int) ([]SalesQuote, error) {
  3086  	var query string
  3087  	if r.query != nil {
  3088  		query = "?" + r.query.Encode()
  3089  	}
  3090  	return r.Paging(ctx, "GET", query, nil, n)
  3091  }
  3092  
  3093  // Get performs GET request for SalesQuote collection
  3094  func (r *CompanySalesQuotesCollectionRequest) Get(ctx context.Context) ([]SalesQuote, error) {
  3095  	return r.GetN(ctx, 0)
  3096  }
  3097  
  3098  // Add performs POST request for SalesQuote collection
  3099  func (r *CompanySalesQuotesCollectionRequest) Add(ctx context.Context, reqObj *SalesQuote) (resObj *SalesQuote, err error) {
  3100  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
  3101  	return
  3102  }
  3103  
  3104  // ShipmentMethods returns request builder for ShipmentMethod collection
  3105  func (b *CompanyRequestBuilder) ShipmentMethods() *CompanyShipmentMethodsCollectionRequestBuilder {
  3106  	bb := &CompanyShipmentMethodsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  3107  	bb.baseURL += "/shipmentMethods"
  3108  	return bb
  3109  }
  3110  
  3111  // CompanyShipmentMethodsCollectionRequestBuilder is request builder for ShipmentMethod collection
  3112  type CompanyShipmentMethodsCollectionRequestBuilder struct{ BaseRequestBuilder }
  3113  
  3114  // Request returns request for ShipmentMethod collection
  3115  func (b *CompanyShipmentMethodsCollectionRequestBuilder) Request() *CompanyShipmentMethodsCollectionRequest {
  3116  	return &CompanyShipmentMethodsCollectionRequest{
  3117  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
  3118  	}
  3119  }
  3120  
  3121  // ID returns request builder for ShipmentMethod item
  3122  func (b *CompanyShipmentMethodsCollectionRequestBuilder) ID(id string) *ShipmentMethodRequestBuilder {
  3123  	bb := &ShipmentMethodRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  3124  	bb.baseURL += "/" + id
  3125  	return bb
  3126  }
  3127  
  3128  // CompanyShipmentMethodsCollectionRequest is request for ShipmentMethod collection
  3129  type CompanyShipmentMethodsCollectionRequest struct{ BaseRequest }
  3130  
  3131  // Paging perfoms paging operation for ShipmentMethod collection
  3132  func (r *CompanyShipmentMethodsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]ShipmentMethod, error) {
  3133  	req, err := r.NewJSONRequest(method, path, obj)
  3134  	if err != nil {
  3135  		return nil, err
  3136  	}
  3137  	if ctx != nil {
  3138  		req = req.WithContext(ctx)
  3139  	}
  3140  	res, err := r.client.Do(req)
  3141  	if err != nil {
  3142  		return nil, err
  3143  	}
  3144  	var values []ShipmentMethod
  3145  	for {
  3146  		if res.StatusCode != http.StatusOK {
  3147  			b, _ := ioutil.ReadAll(res.Body)
  3148  			res.Body.Close()
  3149  			errRes := &ErrorResponse{Response: res}
  3150  			err := jsonx.Unmarshal(b, errRes)
  3151  			if err != nil {
  3152  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
  3153  			}
  3154  			return nil, errRes
  3155  		}
  3156  		var (
  3157  			paging Paging
  3158  			value  []ShipmentMethod
  3159  		)
  3160  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
  3161  		res.Body.Close()
  3162  		if err != nil {
  3163  			return nil, err
  3164  		}
  3165  		err = jsonx.Unmarshal(paging.Value, &value)
  3166  		if err != nil {
  3167  			return nil, err
  3168  		}
  3169  		values = append(values, value...)
  3170  		if n >= 0 {
  3171  			n--
  3172  		}
  3173  		if n == 0 || len(paging.NextLink) == 0 {
  3174  			return values, nil
  3175  		}
  3176  		req, err = http.NewRequest("GET", paging.NextLink, nil)
  3177  		if ctx != nil {
  3178  			req = req.WithContext(ctx)
  3179  		}
  3180  		res, err = r.client.Do(req)
  3181  		if err != nil {
  3182  			return nil, err
  3183  		}
  3184  	}
  3185  }
  3186  
  3187  // GetN performs GET request for ShipmentMethod collection, max N pages
  3188  func (r *CompanyShipmentMethodsCollectionRequest) GetN(ctx context.Context, n int) ([]ShipmentMethod, error) {
  3189  	var query string
  3190  	if r.query != nil {
  3191  		query = "?" + r.query.Encode()
  3192  	}
  3193  	return r.Paging(ctx, "GET", query, nil, n)
  3194  }
  3195  
  3196  // Get performs GET request for ShipmentMethod collection
  3197  func (r *CompanyShipmentMethodsCollectionRequest) Get(ctx context.Context) ([]ShipmentMethod, error) {
  3198  	return r.GetN(ctx, 0)
  3199  }
  3200  
  3201  // Add performs POST request for ShipmentMethod collection
  3202  func (r *CompanyShipmentMethodsCollectionRequest) Add(ctx context.Context, reqObj *ShipmentMethod) (resObj *ShipmentMethod, err error) {
  3203  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
  3204  	return
  3205  }
  3206  
  3207  // TaxAreas returns request builder for TaxArea collection
  3208  func (b *CompanyRequestBuilder) TaxAreas() *CompanyTaxAreasCollectionRequestBuilder {
  3209  	bb := &CompanyTaxAreasCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  3210  	bb.baseURL += "/taxAreas"
  3211  	return bb
  3212  }
  3213  
  3214  // CompanyTaxAreasCollectionRequestBuilder is request builder for TaxArea collection
  3215  type CompanyTaxAreasCollectionRequestBuilder struct{ BaseRequestBuilder }
  3216  
  3217  // Request returns request for TaxArea collection
  3218  func (b *CompanyTaxAreasCollectionRequestBuilder) Request() *CompanyTaxAreasCollectionRequest {
  3219  	return &CompanyTaxAreasCollectionRequest{
  3220  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
  3221  	}
  3222  }
  3223  
  3224  // ID returns request builder for TaxArea item
  3225  func (b *CompanyTaxAreasCollectionRequestBuilder) ID(id string) *TaxAreaRequestBuilder {
  3226  	bb := &TaxAreaRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  3227  	bb.baseURL += "/" + id
  3228  	return bb
  3229  }
  3230  
  3231  // CompanyTaxAreasCollectionRequest is request for TaxArea collection
  3232  type CompanyTaxAreasCollectionRequest struct{ BaseRequest }
  3233  
  3234  // Paging perfoms paging operation for TaxArea collection
  3235  func (r *CompanyTaxAreasCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]TaxArea, error) {
  3236  	req, err := r.NewJSONRequest(method, path, obj)
  3237  	if err != nil {
  3238  		return nil, err
  3239  	}
  3240  	if ctx != nil {
  3241  		req = req.WithContext(ctx)
  3242  	}
  3243  	res, err := r.client.Do(req)
  3244  	if err != nil {
  3245  		return nil, err
  3246  	}
  3247  	var values []TaxArea
  3248  	for {
  3249  		if res.StatusCode != http.StatusOK {
  3250  			b, _ := ioutil.ReadAll(res.Body)
  3251  			res.Body.Close()
  3252  			errRes := &ErrorResponse{Response: res}
  3253  			err := jsonx.Unmarshal(b, errRes)
  3254  			if err != nil {
  3255  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
  3256  			}
  3257  			return nil, errRes
  3258  		}
  3259  		var (
  3260  			paging Paging
  3261  			value  []TaxArea
  3262  		)
  3263  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
  3264  		res.Body.Close()
  3265  		if err != nil {
  3266  			return nil, err
  3267  		}
  3268  		err = jsonx.Unmarshal(paging.Value, &value)
  3269  		if err != nil {
  3270  			return nil, err
  3271  		}
  3272  		values = append(values, value...)
  3273  		if n >= 0 {
  3274  			n--
  3275  		}
  3276  		if n == 0 || len(paging.NextLink) == 0 {
  3277  			return values, nil
  3278  		}
  3279  		req, err = http.NewRequest("GET", paging.NextLink, nil)
  3280  		if ctx != nil {
  3281  			req = req.WithContext(ctx)
  3282  		}
  3283  		res, err = r.client.Do(req)
  3284  		if err != nil {
  3285  			return nil, err
  3286  		}
  3287  	}
  3288  }
  3289  
  3290  // GetN performs GET request for TaxArea collection, max N pages
  3291  func (r *CompanyTaxAreasCollectionRequest) GetN(ctx context.Context, n int) ([]TaxArea, error) {
  3292  	var query string
  3293  	if r.query != nil {
  3294  		query = "?" + r.query.Encode()
  3295  	}
  3296  	return r.Paging(ctx, "GET", query, nil, n)
  3297  }
  3298  
  3299  // Get performs GET request for TaxArea collection
  3300  func (r *CompanyTaxAreasCollectionRequest) Get(ctx context.Context) ([]TaxArea, error) {
  3301  	return r.GetN(ctx, 0)
  3302  }
  3303  
  3304  // Add performs POST request for TaxArea collection
  3305  func (r *CompanyTaxAreasCollectionRequest) Add(ctx context.Context, reqObj *TaxArea) (resObj *TaxArea, err error) {
  3306  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
  3307  	return
  3308  }
  3309  
  3310  // TaxGroups returns request builder for TaxGroup collection
  3311  func (b *CompanyRequestBuilder) TaxGroups() *CompanyTaxGroupsCollectionRequestBuilder {
  3312  	bb := &CompanyTaxGroupsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  3313  	bb.baseURL += "/taxGroups"
  3314  	return bb
  3315  }
  3316  
  3317  // CompanyTaxGroupsCollectionRequestBuilder is request builder for TaxGroup collection
  3318  type CompanyTaxGroupsCollectionRequestBuilder struct{ BaseRequestBuilder }
  3319  
  3320  // Request returns request for TaxGroup collection
  3321  func (b *CompanyTaxGroupsCollectionRequestBuilder) Request() *CompanyTaxGroupsCollectionRequest {
  3322  	return &CompanyTaxGroupsCollectionRequest{
  3323  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
  3324  	}
  3325  }
  3326  
  3327  // ID returns request builder for TaxGroup item
  3328  func (b *CompanyTaxGroupsCollectionRequestBuilder) ID(id string) *TaxGroupRequestBuilder {
  3329  	bb := &TaxGroupRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  3330  	bb.baseURL += "/" + id
  3331  	return bb
  3332  }
  3333  
  3334  // CompanyTaxGroupsCollectionRequest is request for TaxGroup collection
  3335  type CompanyTaxGroupsCollectionRequest struct{ BaseRequest }
  3336  
  3337  // Paging perfoms paging operation for TaxGroup collection
  3338  func (r *CompanyTaxGroupsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]TaxGroup, error) {
  3339  	req, err := r.NewJSONRequest(method, path, obj)
  3340  	if err != nil {
  3341  		return nil, err
  3342  	}
  3343  	if ctx != nil {
  3344  		req = req.WithContext(ctx)
  3345  	}
  3346  	res, err := r.client.Do(req)
  3347  	if err != nil {
  3348  		return nil, err
  3349  	}
  3350  	var values []TaxGroup
  3351  	for {
  3352  		if res.StatusCode != http.StatusOK {
  3353  			b, _ := ioutil.ReadAll(res.Body)
  3354  			res.Body.Close()
  3355  			errRes := &ErrorResponse{Response: res}
  3356  			err := jsonx.Unmarshal(b, errRes)
  3357  			if err != nil {
  3358  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
  3359  			}
  3360  			return nil, errRes
  3361  		}
  3362  		var (
  3363  			paging Paging
  3364  			value  []TaxGroup
  3365  		)
  3366  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
  3367  		res.Body.Close()
  3368  		if err != nil {
  3369  			return nil, err
  3370  		}
  3371  		err = jsonx.Unmarshal(paging.Value, &value)
  3372  		if err != nil {
  3373  			return nil, err
  3374  		}
  3375  		values = append(values, value...)
  3376  		if n >= 0 {
  3377  			n--
  3378  		}
  3379  		if n == 0 || len(paging.NextLink) == 0 {
  3380  			return values, nil
  3381  		}
  3382  		req, err = http.NewRequest("GET", paging.NextLink, nil)
  3383  		if ctx != nil {
  3384  			req = req.WithContext(ctx)
  3385  		}
  3386  		res, err = r.client.Do(req)
  3387  		if err != nil {
  3388  			return nil, err
  3389  		}
  3390  	}
  3391  }
  3392  
  3393  // GetN performs GET request for TaxGroup collection, max N pages
  3394  func (r *CompanyTaxGroupsCollectionRequest) GetN(ctx context.Context, n int) ([]TaxGroup, error) {
  3395  	var query string
  3396  	if r.query != nil {
  3397  		query = "?" + r.query.Encode()
  3398  	}
  3399  	return r.Paging(ctx, "GET", query, nil, n)
  3400  }
  3401  
  3402  // Get performs GET request for TaxGroup collection
  3403  func (r *CompanyTaxGroupsCollectionRequest) Get(ctx context.Context) ([]TaxGroup, error) {
  3404  	return r.GetN(ctx, 0)
  3405  }
  3406  
  3407  // Add performs POST request for TaxGroup collection
  3408  func (r *CompanyTaxGroupsCollectionRequest) Add(ctx context.Context, reqObj *TaxGroup) (resObj *TaxGroup, err error) {
  3409  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
  3410  	return
  3411  }
  3412  
  3413  // UnitsOfMeasure returns request builder for UnitOfMeasure collection
  3414  func (b *CompanyRequestBuilder) UnitsOfMeasure() *CompanyUnitsOfMeasureCollectionRequestBuilder {
  3415  	bb := &CompanyUnitsOfMeasureCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  3416  	bb.baseURL += "/unitsOfMeasure"
  3417  	return bb
  3418  }
  3419  
  3420  // CompanyUnitsOfMeasureCollectionRequestBuilder is request builder for UnitOfMeasure collection
  3421  type CompanyUnitsOfMeasureCollectionRequestBuilder struct{ BaseRequestBuilder }
  3422  
  3423  // Request returns request for UnitOfMeasure collection
  3424  func (b *CompanyUnitsOfMeasureCollectionRequestBuilder) Request() *CompanyUnitsOfMeasureCollectionRequest {
  3425  	return &CompanyUnitsOfMeasureCollectionRequest{
  3426  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
  3427  	}
  3428  }
  3429  
  3430  // ID returns request builder for UnitOfMeasure item
  3431  func (b *CompanyUnitsOfMeasureCollectionRequestBuilder) ID(id string) *UnitOfMeasureRequestBuilder {
  3432  	bb := &UnitOfMeasureRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  3433  	bb.baseURL += "/" + id
  3434  	return bb
  3435  }
  3436  
  3437  // CompanyUnitsOfMeasureCollectionRequest is request for UnitOfMeasure collection
  3438  type CompanyUnitsOfMeasureCollectionRequest struct{ BaseRequest }
  3439  
  3440  // Paging perfoms paging operation for UnitOfMeasure collection
  3441  func (r *CompanyUnitsOfMeasureCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]UnitOfMeasure, error) {
  3442  	req, err := r.NewJSONRequest(method, path, obj)
  3443  	if err != nil {
  3444  		return nil, err
  3445  	}
  3446  	if ctx != nil {
  3447  		req = req.WithContext(ctx)
  3448  	}
  3449  	res, err := r.client.Do(req)
  3450  	if err != nil {
  3451  		return nil, err
  3452  	}
  3453  	var values []UnitOfMeasure
  3454  	for {
  3455  		if res.StatusCode != http.StatusOK {
  3456  			b, _ := ioutil.ReadAll(res.Body)
  3457  			res.Body.Close()
  3458  			errRes := &ErrorResponse{Response: res}
  3459  			err := jsonx.Unmarshal(b, errRes)
  3460  			if err != nil {
  3461  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
  3462  			}
  3463  			return nil, errRes
  3464  		}
  3465  		var (
  3466  			paging Paging
  3467  			value  []UnitOfMeasure
  3468  		)
  3469  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
  3470  		res.Body.Close()
  3471  		if err != nil {
  3472  			return nil, err
  3473  		}
  3474  		err = jsonx.Unmarshal(paging.Value, &value)
  3475  		if err != nil {
  3476  			return nil, err
  3477  		}
  3478  		values = append(values, value...)
  3479  		if n >= 0 {
  3480  			n--
  3481  		}
  3482  		if n == 0 || len(paging.NextLink) == 0 {
  3483  			return values, nil
  3484  		}
  3485  		req, err = http.NewRequest("GET", paging.NextLink, nil)
  3486  		if ctx != nil {
  3487  			req = req.WithContext(ctx)
  3488  		}
  3489  		res, err = r.client.Do(req)
  3490  		if err != nil {
  3491  			return nil, err
  3492  		}
  3493  	}
  3494  }
  3495  
  3496  // GetN performs GET request for UnitOfMeasure collection, max N pages
  3497  func (r *CompanyUnitsOfMeasureCollectionRequest) GetN(ctx context.Context, n int) ([]UnitOfMeasure, error) {
  3498  	var query string
  3499  	if r.query != nil {
  3500  		query = "?" + r.query.Encode()
  3501  	}
  3502  	return r.Paging(ctx, "GET", query, nil, n)
  3503  }
  3504  
  3505  // Get performs GET request for UnitOfMeasure collection
  3506  func (r *CompanyUnitsOfMeasureCollectionRequest) Get(ctx context.Context) ([]UnitOfMeasure, error) {
  3507  	return r.GetN(ctx, 0)
  3508  }
  3509  
  3510  // Add performs POST request for UnitOfMeasure collection
  3511  func (r *CompanyUnitsOfMeasureCollectionRequest) Add(ctx context.Context, reqObj *UnitOfMeasure) (resObj *UnitOfMeasure, err error) {
  3512  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
  3513  	return
  3514  }
  3515  
  3516  // Vendors returns request builder for Vendor collection
  3517  func (b *CompanyRequestBuilder) Vendors() *CompanyVendorsCollectionRequestBuilder {
  3518  	bb := &CompanyVendorsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  3519  	bb.baseURL += "/vendors"
  3520  	return bb
  3521  }
  3522  
  3523  // CompanyVendorsCollectionRequestBuilder is request builder for Vendor collection
  3524  type CompanyVendorsCollectionRequestBuilder struct{ BaseRequestBuilder }
  3525  
  3526  // Request returns request for Vendor collection
  3527  func (b *CompanyVendorsCollectionRequestBuilder) Request() *CompanyVendorsCollectionRequest {
  3528  	return &CompanyVendorsCollectionRequest{
  3529  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
  3530  	}
  3531  }
  3532  
  3533  // ID returns request builder for Vendor item
  3534  func (b *CompanyVendorsCollectionRequestBuilder) ID(id string) *VendorRequestBuilder {
  3535  	bb := &VendorRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
  3536  	bb.baseURL += "/" + id
  3537  	return bb
  3538  }
  3539  
  3540  // CompanyVendorsCollectionRequest is request for Vendor collection
  3541  type CompanyVendorsCollectionRequest struct{ BaseRequest }
  3542  
  3543  // Paging perfoms paging operation for Vendor collection
  3544  func (r *CompanyVendorsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]Vendor, error) {
  3545  	req, err := r.NewJSONRequest(method, path, obj)
  3546  	if err != nil {
  3547  		return nil, err
  3548  	}
  3549  	if ctx != nil {
  3550  		req = req.WithContext(ctx)
  3551  	}
  3552  	res, err := r.client.Do(req)
  3553  	if err != nil {
  3554  		return nil, err
  3555  	}
  3556  	var values []Vendor
  3557  	for {
  3558  		if res.StatusCode != http.StatusOK {
  3559  			b, _ := ioutil.ReadAll(res.Body)
  3560  			res.Body.Close()
  3561  			errRes := &ErrorResponse{Response: res}
  3562  			err := jsonx.Unmarshal(b, errRes)
  3563  			if err != nil {
  3564  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
  3565  			}
  3566  			return nil, errRes
  3567  		}
  3568  		var (
  3569  			paging Paging
  3570  			value  []Vendor
  3571  		)
  3572  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
  3573  		res.Body.Close()
  3574  		if err != nil {
  3575  			return nil, err
  3576  		}
  3577  		err = jsonx.Unmarshal(paging.Value, &value)
  3578  		if err != nil {
  3579  			return nil, err
  3580  		}
  3581  		values = append(values, value...)
  3582  		if n >= 0 {
  3583  			n--
  3584  		}
  3585  		if n == 0 || len(paging.NextLink) == 0 {
  3586  			return values, nil
  3587  		}
  3588  		req, err = http.NewRequest("GET", paging.NextLink, nil)
  3589  		if ctx != nil {
  3590  			req = req.WithContext(ctx)
  3591  		}
  3592  		res, err = r.client.Do(req)
  3593  		if err != nil {
  3594  			return nil, err
  3595  		}
  3596  	}
  3597  }
  3598  
  3599  // GetN performs GET request for Vendor collection, max N pages
  3600  func (r *CompanyVendorsCollectionRequest) GetN(ctx context.Context, n int) ([]Vendor, error) {
  3601  	var query string
  3602  	if r.query != nil {
  3603  		query = "?" + r.query.Encode()
  3604  	}
  3605  	return r.Paging(ctx, "GET", query, nil, n)
  3606  }
  3607  
  3608  // Get performs GET request for Vendor collection
  3609  func (r *CompanyVendorsCollectionRequest) Get(ctx context.Context) ([]Vendor, error) {
  3610  	return r.GetN(ctx, 0)
  3611  }
  3612  
  3613  // Add performs POST request for Vendor collection
  3614  func (r *CompanyVendorsCollectionRequest) Add(ctx context.Context, reqObj *Vendor) (resObj *Vendor, err error) {
  3615  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
  3616  	return
  3617  }