// Code generated by msgraph-generate.go DO NOT EDIT.

package msgraph

import "context"

// SalesInvoiceCancelAndSendRequestParameter undocumented
type SalesInvoiceCancelAndSendRequestParameter struct {
}

// SalesInvoiceCancelRequestParameter undocumented
type SalesInvoiceCancelRequestParameter struct {
}

// SalesInvoicePostAndSendRequestParameter undocumented
type SalesInvoicePostAndSendRequestParameter struct {
}

// SalesInvoicePostRequestParameter undocumented
type SalesInvoicePostRequestParameter struct {
}

// SalesInvoiceSendRequestParameter undocumented
type SalesInvoiceSendRequestParameter struct {
}

//
type SalesInvoiceCancelAndSendRequestBuilder struct{ BaseRequestBuilder }

// CancelAndSend action undocumented
func (b *SalesInvoiceRequestBuilder) CancelAndSend(reqObj *SalesInvoiceCancelAndSendRequestParameter) *SalesInvoiceCancelAndSendRequestBuilder {
	bb := &SalesInvoiceCancelAndSendRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
	bb.BaseRequestBuilder.baseURL += "/cancelAndSend"
	bb.BaseRequestBuilder.requestObject = reqObj
	return bb
}

//
type SalesInvoiceCancelAndSendRequest struct{ BaseRequest }

//
func (b *SalesInvoiceCancelAndSendRequestBuilder) Request() *SalesInvoiceCancelAndSendRequest {
	return &SalesInvoiceCancelAndSendRequest{
		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client, requestObject: b.requestObject},
	}
}

//
func (r *SalesInvoiceCancelAndSendRequest) Post(ctx context.Context) error {
	return r.JSONRequest(ctx, "POST", "", r.requestObject, nil)
}

//
type SalesInvoiceCancelRequestBuilder struct{ BaseRequestBuilder }

// Cancel action undocumented
func (b *SalesInvoiceRequestBuilder) Cancel(reqObj *SalesInvoiceCancelRequestParameter) *SalesInvoiceCancelRequestBuilder {
	bb := &SalesInvoiceCancelRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
	bb.BaseRequestBuilder.baseURL += "/cancel"
	bb.BaseRequestBuilder.requestObject = reqObj
	return bb
}

//
type SalesInvoiceCancelRequest struct{ BaseRequest }

//
func (b *SalesInvoiceCancelRequestBuilder) Request() *SalesInvoiceCancelRequest {
	return &SalesInvoiceCancelRequest{
		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client, requestObject: b.requestObject},
	}
}

//
func (r *SalesInvoiceCancelRequest) Post(ctx context.Context) error {
	return r.JSONRequest(ctx, "POST", "", r.requestObject, nil)
}

//
type SalesInvoicePostAndSendRequestBuilder struct{ BaseRequestBuilder }

// PostAndSend action undocumented
func (b *SalesInvoiceRequestBuilder) PostAndSend(reqObj *SalesInvoicePostAndSendRequestParameter) *SalesInvoicePostAndSendRequestBuilder {
	bb := &SalesInvoicePostAndSendRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
	bb.BaseRequestBuilder.baseURL += "/postAndSend"
	bb.BaseRequestBuilder.requestObject = reqObj
	return bb
}

//
type SalesInvoicePostAndSendRequest struct{ BaseRequest }

//
func (b *SalesInvoicePostAndSendRequestBuilder) Request() *SalesInvoicePostAndSendRequest {
	return &SalesInvoicePostAndSendRequest{
		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client, requestObject: b.requestObject},
	}
}

//
func (r *SalesInvoicePostAndSendRequest) Post(ctx context.Context) error {
	return r.JSONRequest(ctx, "POST", "", r.requestObject, nil)
}

//
type SalesInvoicePostRequestBuilder struct{ BaseRequestBuilder }

// Post action undocumented
func (b *SalesInvoiceRequestBuilder) Post(reqObj *SalesInvoicePostRequestParameter) *SalesInvoicePostRequestBuilder {
	bb := &SalesInvoicePostRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
	bb.BaseRequestBuilder.baseURL += "/post"
	bb.BaseRequestBuilder.requestObject = reqObj
	return bb
}

//
type SalesInvoicePostRequest struct{ BaseRequest }

//
func (b *SalesInvoicePostRequestBuilder) Request() *SalesInvoicePostRequest {
	return &SalesInvoicePostRequest{
		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client, requestObject: b.requestObject},
	}
}

//
func (r *SalesInvoicePostRequest) Post(ctx context.Context) error {
	return r.JSONRequest(ctx, "POST", "", r.requestObject, nil)
}

//
type SalesInvoiceSendRequestBuilder struct{ BaseRequestBuilder }

// Send action undocumented
func (b *SalesInvoiceRequestBuilder) Send(reqObj *SalesInvoiceSendRequestParameter) *SalesInvoiceSendRequestBuilder {
	bb := &SalesInvoiceSendRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
	bb.BaseRequestBuilder.baseURL += "/send"
	bb.BaseRequestBuilder.requestObject = reqObj
	return bb
}

//
type SalesInvoiceSendRequest struct{ BaseRequest }

//
func (b *SalesInvoiceSendRequestBuilder) Request() *SalesInvoiceSendRequest {
	return &SalesInvoiceSendRequest{
		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client, requestObject: b.requestObject},
	}
}

//
func (r *SalesInvoiceSendRequest) Post(ctx context.Context) error {
	return r.JSONRequest(ctx, "POST", "", r.requestObject, nil)
}