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

     1  // Code generated by msgraph.go/gen DO NOT EDIT.
     2  
     3  package msgraph
     4  
     5  import (
     6  	"context"
     7  	"fmt"
     8  	"io/ioutil"
     9  	"net/http"
    10  
    11  	"github.com/yaegashi/msgraph.go/jsonx"
    12  )
    13  
    14  // SalesInvoiceCancelAndSendRequestParameter undocumented
    15  type SalesInvoiceCancelAndSendRequestParameter struct {
    16  }
    17  
    18  // SalesInvoiceCancelRequestParameter undocumented
    19  type SalesInvoiceCancelRequestParameter struct {
    20  }
    21  
    22  // SalesInvoicePostAndSendRequestParameter undocumented
    23  type SalesInvoicePostAndSendRequestParameter struct {
    24  }
    25  
    26  // SalesInvoicePostRequestParameter undocumented
    27  type SalesInvoicePostRequestParameter struct {
    28  }
    29  
    30  // SalesInvoiceSendRequestParameter undocumented
    31  type SalesInvoiceSendRequestParameter struct {
    32  }
    33  
    34  // SalesQuoteMakeInvoiceRequestParameter undocumented
    35  type SalesQuoteMakeInvoiceRequestParameter struct {
    36  }
    37  
    38  // SalesQuoteSendRequestParameter undocumented
    39  type SalesQuoteSendRequestParameter struct {
    40  }
    41  
    42  // Currency is navigation property
    43  func (b *SalesCreditMemoRequestBuilder) Currency() *CurrencyRequestBuilder {
    44  	bb := &CurrencyRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
    45  	bb.baseURL += "/currency"
    46  	return bb
    47  }
    48  
    49  // Customer is navigation property
    50  func (b *SalesCreditMemoRequestBuilder) Customer() *CustomerRequestBuilder {
    51  	bb := &CustomerRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
    52  	bb.baseURL += "/customer"
    53  	return bb
    54  }
    55  
    56  // PaymentTerm is navigation property
    57  func (b *SalesCreditMemoRequestBuilder) PaymentTerm() *PaymentTermRequestBuilder {
    58  	bb := &PaymentTermRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
    59  	bb.baseURL += "/paymentTerm"
    60  	return bb
    61  }
    62  
    63  // SalesCreditMemoLines returns request builder for SalesCreditMemoLine collection
    64  func (b *SalesCreditMemoRequestBuilder) SalesCreditMemoLines() *SalesCreditMemoSalesCreditMemoLinesCollectionRequestBuilder {
    65  	bb := &SalesCreditMemoSalesCreditMemoLinesCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
    66  	bb.baseURL += "/salesCreditMemoLines"
    67  	return bb
    68  }
    69  
    70  // SalesCreditMemoSalesCreditMemoLinesCollectionRequestBuilder is request builder for SalesCreditMemoLine collection
    71  type SalesCreditMemoSalesCreditMemoLinesCollectionRequestBuilder struct{ BaseRequestBuilder }
    72  
    73  // Request returns request for SalesCreditMemoLine collection
    74  func (b *SalesCreditMemoSalesCreditMemoLinesCollectionRequestBuilder) Request() *SalesCreditMemoSalesCreditMemoLinesCollectionRequest {
    75  	return &SalesCreditMemoSalesCreditMemoLinesCollectionRequest{
    76  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
    77  	}
    78  }
    79  
    80  // ID returns request builder for SalesCreditMemoLine item
    81  func (b *SalesCreditMemoSalesCreditMemoLinesCollectionRequestBuilder) ID(id string) *SalesCreditMemoLineRequestBuilder {
    82  	bb := &SalesCreditMemoLineRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
    83  	bb.baseURL += "/" + id
    84  	return bb
    85  }
    86  
    87  // SalesCreditMemoSalesCreditMemoLinesCollectionRequest is request for SalesCreditMemoLine collection
    88  type SalesCreditMemoSalesCreditMemoLinesCollectionRequest struct{ BaseRequest }
    89  
    90  // Paging perfoms paging operation for SalesCreditMemoLine collection
    91  func (r *SalesCreditMemoSalesCreditMemoLinesCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]SalesCreditMemoLine, error) {
    92  	req, err := r.NewJSONRequest(method, path, obj)
    93  	if err != nil {
    94  		return nil, err
    95  	}
    96  	if ctx != nil {
    97  		req = req.WithContext(ctx)
    98  	}
    99  	res, err := r.client.Do(req)
   100  	if err != nil {
   101  		return nil, err
   102  	}
   103  	var values []SalesCreditMemoLine
   104  	for {
   105  		if res.StatusCode != http.StatusOK {
   106  			b, _ := ioutil.ReadAll(res.Body)
   107  			res.Body.Close()
   108  			errRes := &ErrorResponse{Response: res}
   109  			err := jsonx.Unmarshal(b, errRes)
   110  			if err != nil {
   111  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
   112  			}
   113  			return nil, errRes
   114  		}
   115  		var (
   116  			paging Paging
   117  			value  []SalesCreditMemoLine
   118  		)
   119  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
   120  		res.Body.Close()
   121  		if err != nil {
   122  			return nil, err
   123  		}
   124  		err = jsonx.Unmarshal(paging.Value, &value)
   125  		if err != nil {
   126  			return nil, err
   127  		}
   128  		values = append(values, value...)
   129  		if n >= 0 {
   130  			n--
   131  		}
   132  		if n == 0 || len(paging.NextLink) == 0 {
   133  			return values, nil
   134  		}
   135  		req, err = http.NewRequest("GET", paging.NextLink, nil)
   136  		if ctx != nil {
   137  			req = req.WithContext(ctx)
   138  		}
   139  		res, err = r.client.Do(req)
   140  		if err != nil {
   141  			return nil, err
   142  		}
   143  	}
   144  }
   145  
   146  // GetN performs GET request for SalesCreditMemoLine collection, max N pages
   147  func (r *SalesCreditMemoSalesCreditMemoLinesCollectionRequest) GetN(ctx context.Context, n int) ([]SalesCreditMemoLine, error) {
   148  	var query string
   149  	if r.query != nil {
   150  		query = "?" + r.query.Encode()
   151  	}
   152  	return r.Paging(ctx, "GET", query, nil, n)
   153  }
   154  
   155  // Get performs GET request for SalesCreditMemoLine collection
   156  func (r *SalesCreditMemoSalesCreditMemoLinesCollectionRequest) Get(ctx context.Context) ([]SalesCreditMemoLine, error) {
   157  	return r.GetN(ctx, 0)
   158  }
   159  
   160  // Add performs POST request for SalesCreditMemoLine collection
   161  func (r *SalesCreditMemoSalesCreditMemoLinesCollectionRequest) Add(ctx context.Context, reqObj *SalesCreditMemoLine) (resObj *SalesCreditMemoLine, err error) {
   162  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
   163  	return
   164  }
   165  
   166  // Account is navigation property
   167  func (b *SalesCreditMemoLineRequestBuilder) Account() *AccountRequestBuilder {
   168  	bb := &AccountRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   169  	bb.baseURL += "/account"
   170  	return bb
   171  }
   172  
   173  // Item is navigation property
   174  func (b *SalesCreditMemoLineRequestBuilder) Item() *ItemRequestBuilder {
   175  	bb := &ItemRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   176  	bb.baseURL += "/item"
   177  	return bb
   178  }
   179  
   180  // Currency is navigation property
   181  func (b *SalesInvoiceRequestBuilder) Currency() *CurrencyRequestBuilder {
   182  	bb := &CurrencyRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   183  	bb.baseURL += "/currency"
   184  	return bb
   185  }
   186  
   187  // Customer is navigation property
   188  func (b *SalesInvoiceRequestBuilder) Customer() *CustomerRequestBuilder {
   189  	bb := &CustomerRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   190  	bb.baseURL += "/customer"
   191  	return bb
   192  }
   193  
   194  // PaymentTerm is navigation property
   195  func (b *SalesInvoiceRequestBuilder) PaymentTerm() *PaymentTermRequestBuilder {
   196  	bb := &PaymentTermRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   197  	bb.baseURL += "/paymentTerm"
   198  	return bb
   199  }
   200  
   201  // SalesInvoiceLines returns request builder for SalesInvoiceLine collection
   202  func (b *SalesInvoiceRequestBuilder) SalesInvoiceLines() *SalesInvoiceSalesInvoiceLinesCollectionRequestBuilder {
   203  	bb := &SalesInvoiceSalesInvoiceLinesCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   204  	bb.baseURL += "/salesInvoiceLines"
   205  	return bb
   206  }
   207  
   208  // SalesInvoiceSalesInvoiceLinesCollectionRequestBuilder is request builder for SalesInvoiceLine collection
   209  type SalesInvoiceSalesInvoiceLinesCollectionRequestBuilder struct{ BaseRequestBuilder }
   210  
   211  // Request returns request for SalesInvoiceLine collection
   212  func (b *SalesInvoiceSalesInvoiceLinesCollectionRequestBuilder) Request() *SalesInvoiceSalesInvoiceLinesCollectionRequest {
   213  	return &SalesInvoiceSalesInvoiceLinesCollectionRequest{
   214  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
   215  	}
   216  }
   217  
   218  // ID returns request builder for SalesInvoiceLine item
   219  func (b *SalesInvoiceSalesInvoiceLinesCollectionRequestBuilder) ID(id string) *SalesInvoiceLineRequestBuilder {
   220  	bb := &SalesInvoiceLineRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   221  	bb.baseURL += "/" + id
   222  	return bb
   223  }
   224  
   225  // SalesInvoiceSalesInvoiceLinesCollectionRequest is request for SalesInvoiceLine collection
   226  type SalesInvoiceSalesInvoiceLinesCollectionRequest struct{ BaseRequest }
   227  
   228  // Paging perfoms paging operation for SalesInvoiceLine collection
   229  func (r *SalesInvoiceSalesInvoiceLinesCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]SalesInvoiceLine, error) {
   230  	req, err := r.NewJSONRequest(method, path, obj)
   231  	if err != nil {
   232  		return nil, err
   233  	}
   234  	if ctx != nil {
   235  		req = req.WithContext(ctx)
   236  	}
   237  	res, err := r.client.Do(req)
   238  	if err != nil {
   239  		return nil, err
   240  	}
   241  	var values []SalesInvoiceLine
   242  	for {
   243  		if res.StatusCode != http.StatusOK {
   244  			b, _ := ioutil.ReadAll(res.Body)
   245  			res.Body.Close()
   246  			errRes := &ErrorResponse{Response: res}
   247  			err := jsonx.Unmarshal(b, errRes)
   248  			if err != nil {
   249  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
   250  			}
   251  			return nil, errRes
   252  		}
   253  		var (
   254  			paging Paging
   255  			value  []SalesInvoiceLine
   256  		)
   257  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
   258  		res.Body.Close()
   259  		if err != nil {
   260  			return nil, err
   261  		}
   262  		err = jsonx.Unmarshal(paging.Value, &value)
   263  		if err != nil {
   264  			return nil, err
   265  		}
   266  		values = append(values, value...)
   267  		if n >= 0 {
   268  			n--
   269  		}
   270  		if n == 0 || len(paging.NextLink) == 0 {
   271  			return values, nil
   272  		}
   273  		req, err = http.NewRequest("GET", paging.NextLink, nil)
   274  		if ctx != nil {
   275  			req = req.WithContext(ctx)
   276  		}
   277  		res, err = r.client.Do(req)
   278  		if err != nil {
   279  			return nil, err
   280  		}
   281  	}
   282  }
   283  
   284  // GetN performs GET request for SalesInvoiceLine collection, max N pages
   285  func (r *SalesInvoiceSalesInvoiceLinesCollectionRequest) GetN(ctx context.Context, n int) ([]SalesInvoiceLine, error) {
   286  	var query string
   287  	if r.query != nil {
   288  		query = "?" + r.query.Encode()
   289  	}
   290  	return r.Paging(ctx, "GET", query, nil, n)
   291  }
   292  
   293  // Get performs GET request for SalesInvoiceLine collection
   294  func (r *SalesInvoiceSalesInvoiceLinesCollectionRequest) Get(ctx context.Context) ([]SalesInvoiceLine, error) {
   295  	return r.GetN(ctx, 0)
   296  }
   297  
   298  // Add performs POST request for SalesInvoiceLine collection
   299  func (r *SalesInvoiceSalesInvoiceLinesCollectionRequest) Add(ctx context.Context, reqObj *SalesInvoiceLine) (resObj *SalesInvoiceLine, err error) {
   300  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
   301  	return
   302  }
   303  
   304  // ShipmentMethod is navigation property
   305  func (b *SalesInvoiceRequestBuilder) ShipmentMethod() *ShipmentMethodRequestBuilder {
   306  	bb := &ShipmentMethodRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   307  	bb.baseURL += "/shipmentMethod"
   308  	return bb
   309  }
   310  
   311  // Account is navigation property
   312  func (b *SalesInvoiceLineRequestBuilder) Account() *AccountRequestBuilder {
   313  	bb := &AccountRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   314  	bb.baseURL += "/account"
   315  	return bb
   316  }
   317  
   318  // Item is navigation property
   319  func (b *SalesInvoiceLineRequestBuilder) Item() *ItemRequestBuilder {
   320  	bb := &ItemRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   321  	bb.baseURL += "/item"
   322  	return bb
   323  }
   324  
   325  // Currency is navigation property
   326  func (b *SalesOrderRequestBuilder) Currency() *CurrencyRequestBuilder {
   327  	bb := &CurrencyRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   328  	bb.baseURL += "/currency"
   329  	return bb
   330  }
   331  
   332  // Customer is navigation property
   333  func (b *SalesOrderRequestBuilder) Customer() *CustomerRequestBuilder {
   334  	bb := &CustomerRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   335  	bb.baseURL += "/customer"
   336  	return bb
   337  }
   338  
   339  // PaymentTerm is navigation property
   340  func (b *SalesOrderRequestBuilder) PaymentTerm() *PaymentTermRequestBuilder {
   341  	bb := &PaymentTermRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   342  	bb.baseURL += "/paymentTerm"
   343  	return bb
   344  }
   345  
   346  // SalesOrderLines returns request builder for SalesOrderLine collection
   347  func (b *SalesOrderRequestBuilder) SalesOrderLines() *SalesOrderSalesOrderLinesCollectionRequestBuilder {
   348  	bb := &SalesOrderSalesOrderLinesCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   349  	bb.baseURL += "/salesOrderLines"
   350  	return bb
   351  }
   352  
   353  // SalesOrderSalesOrderLinesCollectionRequestBuilder is request builder for SalesOrderLine collection
   354  type SalesOrderSalesOrderLinesCollectionRequestBuilder struct{ BaseRequestBuilder }
   355  
   356  // Request returns request for SalesOrderLine collection
   357  func (b *SalesOrderSalesOrderLinesCollectionRequestBuilder) Request() *SalesOrderSalesOrderLinesCollectionRequest {
   358  	return &SalesOrderSalesOrderLinesCollectionRequest{
   359  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
   360  	}
   361  }
   362  
   363  // ID returns request builder for SalesOrderLine item
   364  func (b *SalesOrderSalesOrderLinesCollectionRequestBuilder) ID(id string) *SalesOrderLineRequestBuilder {
   365  	bb := &SalesOrderLineRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   366  	bb.baseURL += "/" + id
   367  	return bb
   368  }
   369  
   370  // SalesOrderSalesOrderLinesCollectionRequest is request for SalesOrderLine collection
   371  type SalesOrderSalesOrderLinesCollectionRequest struct{ BaseRequest }
   372  
   373  // Paging perfoms paging operation for SalesOrderLine collection
   374  func (r *SalesOrderSalesOrderLinesCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]SalesOrderLine, error) {
   375  	req, err := r.NewJSONRequest(method, path, obj)
   376  	if err != nil {
   377  		return nil, err
   378  	}
   379  	if ctx != nil {
   380  		req = req.WithContext(ctx)
   381  	}
   382  	res, err := r.client.Do(req)
   383  	if err != nil {
   384  		return nil, err
   385  	}
   386  	var values []SalesOrderLine
   387  	for {
   388  		if res.StatusCode != http.StatusOK {
   389  			b, _ := ioutil.ReadAll(res.Body)
   390  			res.Body.Close()
   391  			errRes := &ErrorResponse{Response: res}
   392  			err := jsonx.Unmarshal(b, errRes)
   393  			if err != nil {
   394  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
   395  			}
   396  			return nil, errRes
   397  		}
   398  		var (
   399  			paging Paging
   400  			value  []SalesOrderLine
   401  		)
   402  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
   403  		res.Body.Close()
   404  		if err != nil {
   405  			return nil, err
   406  		}
   407  		err = jsonx.Unmarshal(paging.Value, &value)
   408  		if err != nil {
   409  			return nil, err
   410  		}
   411  		values = append(values, value...)
   412  		if n >= 0 {
   413  			n--
   414  		}
   415  		if n == 0 || len(paging.NextLink) == 0 {
   416  			return values, nil
   417  		}
   418  		req, err = http.NewRequest("GET", paging.NextLink, nil)
   419  		if ctx != nil {
   420  			req = req.WithContext(ctx)
   421  		}
   422  		res, err = r.client.Do(req)
   423  		if err != nil {
   424  			return nil, err
   425  		}
   426  	}
   427  }
   428  
   429  // GetN performs GET request for SalesOrderLine collection, max N pages
   430  func (r *SalesOrderSalesOrderLinesCollectionRequest) GetN(ctx context.Context, n int) ([]SalesOrderLine, error) {
   431  	var query string
   432  	if r.query != nil {
   433  		query = "?" + r.query.Encode()
   434  	}
   435  	return r.Paging(ctx, "GET", query, nil, n)
   436  }
   437  
   438  // Get performs GET request for SalesOrderLine collection
   439  func (r *SalesOrderSalesOrderLinesCollectionRequest) Get(ctx context.Context) ([]SalesOrderLine, error) {
   440  	return r.GetN(ctx, 0)
   441  }
   442  
   443  // Add performs POST request for SalesOrderLine collection
   444  func (r *SalesOrderSalesOrderLinesCollectionRequest) Add(ctx context.Context, reqObj *SalesOrderLine) (resObj *SalesOrderLine, err error) {
   445  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
   446  	return
   447  }
   448  
   449  // Account is navigation property
   450  func (b *SalesOrderLineRequestBuilder) Account() *AccountRequestBuilder {
   451  	bb := &AccountRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   452  	bb.baseURL += "/account"
   453  	return bb
   454  }
   455  
   456  // Item is navigation property
   457  func (b *SalesOrderLineRequestBuilder) Item() *ItemRequestBuilder {
   458  	bb := &ItemRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   459  	bb.baseURL += "/item"
   460  	return bb
   461  }
   462  
   463  // Currency is navigation property
   464  func (b *SalesQuoteRequestBuilder) Currency() *CurrencyRequestBuilder {
   465  	bb := &CurrencyRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   466  	bb.baseURL += "/currency"
   467  	return bb
   468  }
   469  
   470  // Customer is navigation property
   471  func (b *SalesQuoteRequestBuilder) Customer() *CustomerRequestBuilder {
   472  	bb := &CustomerRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   473  	bb.baseURL += "/customer"
   474  	return bb
   475  }
   476  
   477  // PaymentTerm is navigation property
   478  func (b *SalesQuoteRequestBuilder) PaymentTerm() *PaymentTermRequestBuilder {
   479  	bb := &PaymentTermRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   480  	bb.baseURL += "/paymentTerm"
   481  	return bb
   482  }
   483  
   484  // SalesQuoteLines returns request builder for SalesQuoteLine collection
   485  func (b *SalesQuoteRequestBuilder) SalesQuoteLines() *SalesQuoteSalesQuoteLinesCollectionRequestBuilder {
   486  	bb := &SalesQuoteSalesQuoteLinesCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   487  	bb.baseURL += "/salesQuoteLines"
   488  	return bb
   489  }
   490  
   491  // SalesQuoteSalesQuoteLinesCollectionRequestBuilder is request builder for SalesQuoteLine collection
   492  type SalesQuoteSalesQuoteLinesCollectionRequestBuilder struct{ BaseRequestBuilder }
   493  
   494  // Request returns request for SalesQuoteLine collection
   495  func (b *SalesQuoteSalesQuoteLinesCollectionRequestBuilder) Request() *SalesQuoteSalesQuoteLinesCollectionRequest {
   496  	return &SalesQuoteSalesQuoteLinesCollectionRequest{
   497  		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
   498  	}
   499  }
   500  
   501  // ID returns request builder for SalesQuoteLine item
   502  func (b *SalesQuoteSalesQuoteLinesCollectionRequestBuilder) ID(id string) *SalesQuoteLineRequestBuilder {
   503  	bb := &SalesQuoteLineRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   504  	bb.baseURL += "/" + id
   505  	return bb
   506  }
   507  
   508  // SalesQuoteSalesQuoteLinesCollectionRequest is request for SalesQuoteLine collection
   509  type SalesQuoteSalesQuoteLinesCollectionRequest struct{ BaseRequest }
   510  
   511  // Paging perfoms paging operation for SalesQuoteLine collection
   512  func (r *SalesQuoteSalesQuoteLinesCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]SalesQuoteLine, error) {
   513  	req, err := r.NewJSONRequest(method, path, obj)
   514  	if err != nil {
   515  		return nil, err
   516  	}
   517  	if ctx != nil {
   518  		req = req.WithContext(ctx)
   519  	}
   520  	res, err := r.client.Do(req)
   521  	if err != nil {
   522  		return nil, err
   523  	}
   524  	var values []SalesQuoteLine
   525  	for {
   526  		if res.StatusCode != http.StatusOK {
   527  			b, _ := ioutil.ReadAll(res.Body)
   528  			res.Body.Close()
   529  			errRes := &ErrorResponse{Response: res}
   530  			err := jsonx.Unmarshal(b, errRes)
   531  			if err != nil {
   532  				return nil, fmt.Errorf("%s: %s", res.Status, string(b))
   533  			}
   534  			return nil, errRes
   535  		}
   536  		var (
   537  			paging Paging
   538  			value  []SalesQuoteLine
   539  		)
   540  		err := jsonx.NewDecoder(res.Body).Decode(&paging)
   541  		res.Body.Close()
   542  		if err != nil {
   543  			return nil, err
   544  		}
   545  		err = jsonx.Unmarshal(paging.Value, &value)
   546  		if err != nil {
   547  			return nil, err
   548  		}
   549  		values = append(values, value...)
   550  		if n >= 0 {
   551  			n--
   552  		}
   553  		if n == 0 || len(paging.NextLink) == 0 {
   554  			return values, nil
   555  		}
   556  		req, err = http.NewRequest("GET", paging.NextLink, nil)
   557  		if ctx != nil {
   558  			req = req.WithContext(ctx)
   559  		}
   560  		res, err = r.client.Do(req)
   561  		if err != nil {
   562  			return nil, err
   563  		}
   564  	}
   565  }
   566  
   567  // GetN performs GET request for SalesQuoteLine collection, max N pages
   568  func (r *SalesQuoteSalesQuoteLinesCollectionRequest) GetN(ctx context.Context, n int) ([]SalesQuoteLine, error) {
   569  	var query string
   570  	if r.query != nil {
   571  		query = "?" + r.query.Encode()
   572  	}
   573  	return r.Paging(ctx, "GET", query, nil, n)
   574  }
   575  
   576  // Get performs GET request for SalesQuoteLine collection
   577  func (r *SalesQuoteSalesQuoteLinesCollectionRequest) Get(ctx context.Context) ([]SalesQuoteLine, error) {
   578  	return r.GetN(ctx, 0)
   579  }
   580  
   581  // Add performs POST request for SalesQuoteLine collection
   582  func (r *SalesQuoteSalesQuoteLinesCollectionRequest) Add(ctx context.Context, reqObj *SalesQuoteLine) (resObj *SalesQuoteLine, err error) {
   583  	err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
   584  	return
   585  }
   586  
   587  // ShipmentMethod is navigation property
   588  func (b *SalesQuoteRequestBuilder) ShipmentMethod() *ShipmentMethodRequestBuilder {
   589  	bb := &ShipmentMethodRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   590  	bb.baseURL += "/shipmentMethod"
   591  	return bb
   592  }
   593  
   594  // Account is navigation property
   595  func (b *SalesQuoteLineRequestBuilder) Account() *AccountRequestBuilder {
   596  	bb := &AccountRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   597  	bb.baseURL += "/account"
   598  	return bb
   599  }
   600  
   601  // Item is navigation property
   602  func (b *SalesQuoteLineRequestBuilder) Item() *ItemRequestBuilder {
   603  	bb := &ItemRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
   604  	bb.baseURL += "/item"
   605  	return bb
   606  }