1// Code generated by msgraph.go/gen DO NOT EDIT.
2
3package msgraph
4
5import (
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
15func (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
22type CompanyAccountsCollectionRequestBuilder struct{ BaseRequestBuilder }
23
24// Request returns request for Account collection
25func (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
32func (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
39type CompanyAccountsCollectionRequest struct{ BaseRequest }
40
41// Paging perfoms paging operation for Account collection
42func (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
98func (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
107func (r *CompanyAccountsCollectionRequest) Get(ctx context.Context) ([]Account, error) {
108	return r.GetN(ctx, 0)
109}
110
111// Add performs POST request for Account collection
112func (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
118func (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
125type CompanyAgedAccountsPayableCollectionRequestBuilder struct{ BaseRequestBuilder }
126
127// Request returns request for AgedAccountsPayable collection
128func (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
135func (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
142type CompanyAgedAccountsPayableCollectionRequest struct{ BaseRequest }
143
144// Paging perfoms paging operation for AgedAccountsPayable collection
145func (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
201func (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
210func (r *CompanyAgedAccountsPayableCollectionRequest) Get(ctx context.Context) ([]AgedAccountsPayable, error) {
211	return r.GetN(ctx, 0)
212}
213
214// Add performs POST request for AgedAccountsPayable collection
215func (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
221func (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
228type CompanyAgedAccountsReceivableCollectionRequestBuilder struct{ BaseRequestBuilder }
229
230// Request returns request for AgedAccountsReceivable collection
231func (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
238func (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
245type CompanyAgedAccountsReceivableCollectionRequest struct{ BaseRequest }
246
247// Paging perfoms paging operation for AgedAccountsReceivable collection
248func (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
304func (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
313func (r *CompanyAgedAccountsReceivableCollectionRequest) Get(ctx context.Context) ([]AgedAccountsReceivable, error) {
314	return r.GetN(ctx, 0)
315}
316
317// Add performs POST request for AgedAccountsReceivable collection
318func (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
324func (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
331type CompanyCompanyInformationCollectionRequestBuilder struct{ BaseRequestBuilder }
332
333// Request returns request for CompanyInformation collection
334func (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
341func (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
348type CompanyCompanyInformationCollectionRequest struct{ BaseRequest }
349
350// Paging perfoms paging operation for CompanyInformation collection
351func (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
407func (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
416func (r *CompanyCompanyInformationCollectionRequest) Get(ctx context.Context) ([]CompanyInformation, error) {
417	return r.GetN(ctx, 0)
418}
419
420// Add performs POST request for CompanyInformation collection
421func (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
427func (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
434type CompanyCountriesRegionsCollectionRequestBuilder struct{ BaseRequestBuilder }
435
436// Request returns request for CountryRegion collection
437func (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
444func (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
451type CompanyCountriesRegionsCollectionRequest struct{ BaseRequest }
452
453// Paging perfoms paging operation for CountryRegion collection
454func (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
510func (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
519func (r *CompanyCountriesRegionsCollectionRequest) Get(ctx context.Context) ([]CountryRegion, error) {
520	return r.GetN(ctx, 0)
521}
522
523// Add performs POST request for CountryRegion collection
524func (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
530func (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
537type CompanyCurrenciesCollectionRequestBuilder struct{ BaseRequestBuilder }
538
539// Request returns request for Currency collection
540func (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
547func (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
554type CompanyCurrenciesCollectionRequest struct{ BaseRequest }
555
556// Paging perfoms paging operation for Currency collection
557func (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
613func (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
622func (r *CompanyCurrenciesCollectionRequest) Get(ctx context.Context) ([]Currency, error) {
623	return r.GetN(ctx, 0)
624}
625
626// Add performs POST request for Currency collection
627func (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
633func (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
640type CompanyCustomerPaymentJournalsCollectionRequestBuilder struct{ BaseRequestBuilder }
641
642// Request returns request for CustomerPaymentJournal collection
643func (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
650func (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
657type CompanyCustomerPaymentJournalsCollectionRequest struct{ BaseRequest }
658
659// Paging perfoms paging operation for CustomerPaymentJournal collection
660func (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
716func (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
725func (r *CompanyCustomerPaymentJournalsCollectionRequest) Get(ctx context.Context) ([]CustomerPaymentJournal, error) {
726	return r.GetN(ctx, 0)
727}
728
729// Add performs POST request for CustomerPaymentJournal collection
730func (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
736func (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
743type CompanyCustomerPaymentsCollectionRequestBuilder struct{ BaseRequestBuilder }
744
745// Request returns request for CustomerPayment collection
746func (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
753func (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
760type CompanyCustomerPaymentsCollectionRequest struct{ BaseRequest }
761
762// Paging perfoms paging operation for CustomerPayment collection
763func (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
819func (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
828func (r *CompanyCustomerPaymentsCollectionRequest) Get(ctx context.Context) ([]CustomerPayment, error) {
829	return r.GetN(ctx, 0)
830}
831
832// Add performs POST request for CustomerPayment collection
833func (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
839func (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
846type CompanyCustomersCollectionRequestBuilder struct{ BaseRequestBuilder }
847
848// Request returns request for Customer collection
849func (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
856func (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
863type CompanyCustomersCollectionRequest struct{ BaseRequest }
864
865// Paging perfoms paging operation for Customer collection
866func (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
922func (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
931func (r *CompanyCustomersCollectionRequest) Get(ctx context.Context) ([]Customer, error) {
932	return r.GetN(ctx, 0)
933}
934
935// Add performs POST request for Customer collection
936func (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
942func (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
949type CompanyDimensionValuesCollectionRequestBuilder struct{ BaseRequestBuilder }
950
951// Request returns request for DimensionValue collection
952func (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
959func (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
966type CompanyDimensionValuesCollectionRequest struct{ BaseRequest }
967
968// Paging perfoms paging operation for DimensionValue collection
969func (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
1025func (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
1034func (r *CompanyDimensionValuesCollectionRequest) Get(ctx context.Context) ([]DimensionValue, error) {
1035	return r.GetN(ctx, 0)
1036}
1037
1038// Add performs POST request for DimensionValue collection
1039func (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
1045func (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
1052type CompanyDimensionsCollectionRequestBuilder struct{ BaseRequestBuilder }
1053
1054// Request returns request for Dimension collection
1055func (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
1062func (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
1069type CompanyDimensionsCollectionRequest struct{ BaseRequest }
1070
1071// Paging perfoms paging operation for Dimension collection
1072func (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
1128func (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
1137func (r *CompanyDimensionsCollectionRequest) Get(ctx context.Context) ([]Dimension, error) {
1138	return r.GetN(ctx, 0)
1139}
1140
1141// Add performs POST request for Dimension collection
1142func (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
1148func (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
1155type CompanyEmployeesCollectionRequestBuilder struct{ BaseRequestBuilder }
1156
1157// Request returns request for Employee collection
1158func (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
1165func (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
1172type CompanyEmployeesCollectionRequest struct{ BaseRequest }
1173
1174// Paging perfoms paging operation for Employee collection
1175func (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
1231func (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
1240func (r *CompanyEmployeesCollectionRequest) Get(ctx context.Context) ([]Employee, error) {
1241	return r.GetN(ctx, 0)
1242}
1243
1244// Add performs POST request for Employee collection
1245func (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
1251func (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
1258type CompanyGeneralLedgerEntriesCollectionRequestBuilder struct{ BaseRequestBuilder }
1259
1260// Request returns request for GeneralLedgerEntry collection
1261func (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
1268func (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
1275type CompanyGeneralLedgerEntriesCollectionRequest struct{ BaseRequest }
1276
1277// Paging perfoms paging operation for GeneralLedgerEntry collection
1278func (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
1334func (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
1343func (r *CompanyGeneralLedgerEntriesCollectionRequest) Get(ctx context.Context) ([]GeneralLedgerEntry, error) {
1344	return r.GetN(ctx, 0)
1345}
1346
1347// Add performs POST request for GeneralLedgerEntry collection
1348func (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
1354func (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
1361type CompanyItemCategoriesCollectionRequestBuilder struct{ BaseRequestBuilder }
1362
1363// Request returns request for ItemCategory collection
1364func (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
1371func (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
1378type CompanyItemCategoriesCollectionRequest struct{ BaseRequest }
1379
1380// Paging perfoms paging operation for ItemCategory collection
1381func (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
1437func (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
1446func (r *CompanyItemCategoriesCollectionRequest) Get(ctx context.Context) ([]ItemCategory, error) {
1447	return r.GetN(ctx, 0)
1448}
1449
1450// Add performs POST request for ItemCategory collection
1451func (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
1457func (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
1464type CompanyItemsCollectionRequestBuilder struct{ BaseRequestBuilder }
1465
1466// Request returns request for Item collection
1467func (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
1474func (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
1481type CompanyItemsCollectionRequest struct{ BaseRequest }
1482
1483// Paging perfoms paging operation for Item collection
1484func (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
1540func (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
1549func (r *CompanyItemsCollectionRequest) Get(ctx context.Context) ([]Item, error) {
1550	return r.GetN(ctx, 0)
1551}
1552
1553// Add performs POST request for Item collection
1554func (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
1560func (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
1567type CompanyJournalLinesCollectionRequestBuilder struct{ BaseRequestBuilder }
1568
1569// Request returns request for JournalLine collection
1570func (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
1577func (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
1584type CompanyJournalLinesCollectionRequest struct{ BaseRequest }
1585
1586// Paging perfoms paging operation for JournalLine collection
1587func (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
1643func (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
1652func (r *CompanyJournalLinesCollectionRequest) Get(ctx context.Context) ([]JournalLine, error) {
1653	return r.GetN(ctx, 0)
1654}
1655
1656// Add performs POST request for JournalLine collection
1657func (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
1663func (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
1670type CompanyJournalsCollectionRequestBuilder struct{ BaseRequestBuilder }
1671
1672// Request returns request for Journal collection
1673func (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
1680func (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
1687type CompanyJournalsCollectionRequest struct{ BaseRequest }
1688
1689// Paging perfoms paging operation for Journal collection
1690func (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
1746func (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
1755func (r *CompanyJournalsCollectionRequest) Get(ctx context.Context) ([]Journal, error) {
1756	return r.GetN(ctx, 0)
1757}
1758
1759// Add performs POST request for Journal collection
1760func (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
1766func (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
1773type CompanyPaymentMethodsCollectionRequestBuilder struct{ BaseRequestBuilder }
1774
1775// Request returns request for PaymentMethod collection
1776func (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
1783func (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
1790type CompanyPaymentMethodsCollectionRequest struct{ BaseRequest }
1791
1792// Paging perfoms paging operation for PaymentMethod collection
1793func (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
1849func (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
1858func (r *CompanyPaymentMethodsCollectionRequest) Get(ctx context.Context) ([]PaymentMethod, error) {
1859	return r.GetN(ctx, 0)
1860}
1861
1862// Add performs POST request for PaymentMethod collection
1863func (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
1869func (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
1876type CompanyPaymentTermsCollectionRequestBuilder struct{ BaseRequestBuilder }
1877
1878// Request returns request for PaymentTerm collection
1879func (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
1886func (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
1893type CompanyPaymentTermsCollectionRequest struct{ BaseRequest }
1894
1895// Paging perfoms paging operation for PaymentTerm collection
1896func (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
1952func (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
1961func (r *CompanyPaymentTermsCollectionRequest) Get(ctx context.Context) ([]PaymentTerm, error) {
1962	return r.GetN(ctx, 0)
1963}
1964
1965// Add performs POST request for PaymentTerm collection
1966func (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
1972func (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
1979type CompanyPictureCollectionRequestBuilder struct{ BaseRequestBuilder }
1980
1981// Request returns request for Picture collection
1982func (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
1989func (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
1996type CompanyPictureCollectionRequest struct{ BaseRequest }
1997
1998// Paging perfoms paging operation for Picture collection
1999func (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
2055func (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
2064func (r *CompanyPictureCollectionRequest) Get(ctx context.Context) ([]Picture, error) {
2065	return r.GetN(ctx, 0)
2066}
2067
2068// Add performs POST request for Picture collection
2069func (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
2075func (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
2082type CompanyPurchaseInvoiceLinesCollectionRequestBuilder struct{ BaseRequestBuilder }
2083
2084// Request returns request for PurchaseInvoiceLine collection
2085func (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
2092func (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
2099type CompanyPurchaseInvoiceLinesCollectionRequest struct{ BaseRequest }
2100
2101// Paging perfoms paging operation for PurchaseInvoiceLine collection
2102func (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
2158func (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
2167func (r *CompanyPurchaseInvoiceLinesCollectionRequest) Get(ctx context.Context) ([]PurchaseInvoiceLine, error) {
2168	return r.GetN(ctx, 0)
2169}
2170
2171// Add performs POST request for PurchaseInvoiceLine collection
2172func (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
2178func (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
2185type CompanyPurchaseInvoicesCollectionRequestBuilder struct{ BaseRequestBuilder }
2186
2187// Request returns request for PurchaseInvoice collection
2188func (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
2195func (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
2202type CompanyPurchaseInvoicesCollectionRequest struct{ BaseRequest }
2203
2204// Paging perfoms paging operation for PurchaseInvoice collection
2205func (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
2261func (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
2270func (r *CompanyPurchaseInvoicesCollectionRequest) Get(ctx context.Context) ([]PurchaseInvoice, error) {
2271	return r.GetN(ctx, 0)
2272}
2273
2274// Add performs POST request for PurchaseInvoice collection
2275func (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
2281func (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
2288type CompanySalesCreditMemoLinesCollectionRequestBuilder struct{ BaseRequestBuilder }
2289
2290// Request returns request for SalesCreditMemoLine collection
2291func (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
2298func (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
2305type CompanySalesCreditMemoLinesCollectionRequest struct{ BaseRequest }
2306
2307// Paging perfoms paging operation for SalesCreditMemoLine collection
2308func (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
2364func (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
2373func (r *CompanySalesCreditMemoLinesCollectionRequest) Get(ctx context.Context) ([]SalesCreditMemoLine, error) {
2374	return r.GetN(ctx, 0)
2375}
2376
2377// Add performs POST request for SalesCreditMemoLine collection
2378func (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
2384func (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
2391type CompanySalesCreditMemosCollectionRequestBuilder struct{ BaseRequestBuilder }
2392
2393// Request returns request for SalesCreditMemo collection
2394func (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
2401func (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
2408type CompanySalesCreditMemosCollectionRequest struct{ BaseRequest }
2409
2410// Paging perfoms paging operation for SalesCreditMemo collection
2411func (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
2467func (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
2476func (r *CompanySalesCreditMemosCollectionRequest) Get(ctx context.Context) ([]SalesCreditMemo, error) {
2477	return r.GetN(ctx, 0)
2478}
2479
2480// Add performs POST request for SalesCreditMemo collection
2481func (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
2487func (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
2494type CompanySalesInvoiceLinesCollectionRequestBuilder struct{ BaseRequestBuilder }
2495
2496// Request returns request for SalesInvoiceLine collection
2497func (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
2504func (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
2511type CompanySalesInvoiceLinesCollectionRequest struct{ BaseRequest }
2512
2513// Paging perfoms paging operation for SalesInvoiceLine collection
2514func (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
2570func (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
2579func (r *CompanySalesInvoiceLinesCollectionRequest) Get(ctx context.Context) ([]SalesInvoiceLine, error) {
2580	return r.GetN(ctx, 0)
2581}
2582
2583// Add performs POST request for SalesInvoiceLine collection
2584func (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
2590func (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
2597type CompanySalesInvoicesCollectionRequestBuilder struct{ BaseRequestBuilder }
2598
2599// Request returns request for SalesInvoice collection
2600func (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
2607func (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
2614type CompanySalesInvoicesCollectionRequest struct{ BaseRequest }
2615
2616// Paging perfoms paging operation for SalesInvoice collection
2617func (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
2673func (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
2682func (r *CompanySalesInvoicesCollectionRequest) Get(ctx context.Context) ([]SalesInvoice, error) {
2683	return r.GetN(ctx, 0)
2684}
2685
2686// Add performs POST request for SalesInvoice collection
2687func (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
2693func (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
2700type CompanySalesOrderLinesCollectionRequestBuilder struct{ BaseRequestBuilder }
2701
2702// Request returns request for SalesOrderLine collection
2703func (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
2710func (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
2717type CompanySalesOrderLinesCollectionRequest struct{ BaseRequest }
2718
2719// Paging perfoms paging operation for SalesOrderLine collection
2720func (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
2776func (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
2785func (r *CompanySalesOrderLinesCollectionRequest) Get(ctx context.Context) ([]SalesOrderLine, error) {
2786	return r.GetN(ctx, 0)
2787}
2788
2789// Add performs POST request for SalesOrderLine collection
2790func (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
2796func (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
2803type CompanySalesOrdersCollectionRequestBuilder struct{ BaseRequestBuilder }
2804
2805// Request returns request for SalesOrder collection
2806func (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
2813func (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
2820type CompanySalesOrdersCollectionRequest struct{ BaseRequest }
2821
2822// Paging perfoms paging operation for SalesOrder collection
2823func (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
2879func (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
2888func (r *CompanySalesOrdersCollectionRequest) Get(ctx context.Context) ([]SalesOrder, error) {
2889	return r.GetN(ctx, 0)
2890}
2891
2892// Add performs POST request for SalesOrder collection
2893func (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
2899func (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
2906type CompanySalesQuoteLinesCollectionRequestBuilder struct{ BaseRequestBuilder }
2907
2908// Request returns request for SalesQuoteLine collection
2909func (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
2916func (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
2923type CompanySalesQuoteLinesCollectionRequest struct{ BaseRequest }
2924
2925// Paging perfoms paging operation for SalesQuoteLine collection
2926func (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
2982func (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
2991func (r *CompanySalesQuoteLinesCollectionRequest) Get(ctx context.Context) ([]SalesQuoteLine, error) {
2992	return r.GetN(ctx, 0)
2993}
2994
2995// Add performs POST request for SalesQuoteLine collection
2996func (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
3002func (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
3009type CompanySalesQuotesCollectionRequestBuilder struct{ BaseRequestBuilder }
3010
3011// Request returns request for SalesQuote collection
3012func (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
3019func (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
3026type CompanySalesQuotesCollectionRequest struct{ BaseRequest }
3027
3028// Paging perfoms paging operation for SalesQuote collection
3029func (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
3085func (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
3094func (r *CompanySalesQuotesCollectionRequest) Get(ctx context.Context) ([]SalesQuote, error) {
3095	return r.GetN(ctx, 0)
3096}
3097
3098// Add performs POST request for SalesQuote collection
3099func (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
3105func (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
3112type CompanyShipmentMethodsCollectionRequestBuilder struct{ BaseRequestBuilder }
3113
3114// Request returns request for ShipmentMethod collection
3115func (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
3122func (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
3129type CompanyShipmentMethodsCollectionRequest struct{ BaseRequest }
3130
3131// Paging perfoms paging operation for ShipmentMethod collection
3132func (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
3188func (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
3197func (r *CompanyShipmentMethodsCollectionRequest) Get(ctx context.Context) ([]ShipmentMethod, error) {
3198	return r.GetN(ctx, 0)
3199}
3200
3201// Add performs POST request for ShipmentMethod collection
3202func (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
3208func (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
3215type CompanyTaxAreasCollectionRequestBuilder struct{ BaseRequestBuilder }
3216
3217// Request returns request for TaxArea collection
3218func (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
3225func (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
3232type CompanyTaxAreasCollectionRequest struct{ BaseRequest }
3233
3234// Paging perfoms paging operation for TaxArea collection
3235func (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
3291func (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
3300func (r *CompanyTaxAreasCollectionRequest) Get(ctx context.Context) ([]TaxArea, error) {
3301	return r.GetN(ctx, 0)
3302}
3303
3304// Add performs POST request for TaxArea collection
3305func (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
3311func (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
3318type CompanyTaxGroupsCollectionRequestBuilder struct{ BaseRequestBuilder }
3319
3320// Request returns request for TaxGroup collection
3321func (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
3328func (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
3335type CompanyTaxGroupsCollectionRequest struct{ BaseRequest }
3336
3337// Paging perfoms paging operation for TaxGroup collection
3338func (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
3394func (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
3403func (r *CompanyTaxGroupsCollectionRequest) Get(ctx context.Context) ([]TaxGroup, error) {
3404	return r.GetN(ctx, 0)
3405}
3406
3407// Add performs POST request for TaxGroup collection
3408func (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
3414func (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
3421type CompanyUnitsOfMeasureCollectionRequestBuilder struct{ BaseRequestBuilder }
3422
3423// Request returns request for UnitOfMeasure collection
3424func (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
3431func (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
3438type CompanyUnitsOfMeasureCollectionRequest struct{ BaseRequest }
3439
3440// Paging perfoms paging operation for UnitOfMeasure collection
3441func (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
3497func (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
3506func (r *CompanyUnitsOfMeasureCollectionRequest) Get(ctx context.Context) ([]UnitOfMeasure, error) {
3507	return r.GetN(ctx, 0)
3508}
3509
3510// Add performs POST request for UnitOfMeasure collection
3511func (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
3517func (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
3524type CompanyVendorsCollectionRequestBuilder struct{ BaseRequestBuilder }
3525
3526// Request returns request for Vendor collection
3527func (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
3534func (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
3541type CompanyVendorsCollectionRequest struct{ BaseRequest }
3542
3543// Paging perfoms paging operation for Vendor collection
3544func (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
3600func (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
3609func (r *CompanyVendorsCollectionRequest) Get(ctx context.Context) ([]Vendor, error) {
3610	return r.GetN(ctx, 0)
3611}
3612
3613// Add performs POST request for Vendor collection
3614func (r *CompanyVendorsCollectionRequest) Add(ctx context.Context, reqObj *Vendor) (resObj *Vendor, err error) {
3615	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
3616	return
3617}
3618