// Code generated by go-swagger; DO NOT EDIT.

package invoice_management

// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command

import (
	"net/http"

	"github.com/go-openapi/runtime"

	"github.com/Cyclops-Labs/cyclops-4-hpc.git/services/billing/models"
)

// GenerateInvoiceForCustomerAcceptedCode is the HTTP code returned for type GenerateInvoiceForCustomerAccepted
const GenerateInvoiceForCustomerAcceptedCode int = 202

/*GenerateInvoiceForCustomerAccepted The request for processing had been added to the queue

swagger:response generateInvoiceForCustomerAccepted
*/
type GenerateInvoiceForCustomerAccepted struct {

	/*
	  In: Body
	*/
	Payload *models.ItemCreatedResponse `json:"body,omitempty"`
}

// NewGenerateInvoiceForCustomerAccepted creates GenerateInvoiceForCustomerAccepted with default headers values
func NewGenerateInvoiceForCustomerAccepted() *GenerateInvoiceForCustomerAccepted {

	return &GenerateInvoiceForCustomerAccepted{}
}

// WithPayload adds the payload to the generate invoice for customer accepted response
func (o *GenerateInvoiceForCustomerAccepted) WithPayload(payload *models.ItemCreatedResponse) *GenerateInvoiceForCustomerAccepted {
	o.Payload = payload
	return o
}

// SetPayload sets the payload to the generate invoice for customer accepted response
func (o *GenerateInvoiceForCustomerAccepted) SetPayload(payload *models.ItemCreatedResponse) {
	o.Payload = payload
}

// WriteResponse to the client
func (o *GenerateInvoiceForCustomerAccepted) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) {

	rw.WriteHeader(202)
	if o.Payload != nil {
		payload := o.Payload
		if err := producer.Produce(rw, payload); err != nil {
			panic(err) // let the recovery middleware deal with this
		}
	}
}

// GenerateInvoiceForCustomerBadRequestCode is the HTTP code returned for type GenerateInvoiceForCustomerBadRequest
const GenerateInvoiceForCustomerBadRequestCode int = 400

/*GenerateInvoiceForCustomerBadRequest Invalid input, object invalid

swagger:response generateInvoiceForCustomerBadRequest
*/
type GenerateInvoiceForCustomerBadRequest struct {

	/*
	  In: Body
	*/
	Payload *models.ErrorResponse `json:"body,omitempty"`
}

// NewGenerateInvoiceForCustomerBadRequest creates GenerateInvoiceForCustomerBadRequest with default headers values
func NewGenerateInvoiceForCustomerBadRequest() *GenerateInvoiceForCustomerBadRequest {

	return &GenerateInvoiceForCustomerBadRequest{}
}

// WithPayload adds the payload to the generate invoice for customer bad request response
func (o *GenerateInvoiceForCustomerBadRequest) WithPayload(payload *models.ErrorResponse) *GenerateInvoiceForCustomerBadRequest {
	o.Payload = payload
	return o
}

// SetPayload sets the payload to the generate invoice for customer bad request response
func (o *GenerateInvoiceForCustomerBadRequest) SetPayload(payload *models.ErrorResponse) {
	o.Payload = payload
}

// WriteResponse to the client
func (o *GenerateInvoiceForCustomerBadRequest) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) {

	rw.WriteHeader(400)
	if o.Payload != nil {
		payload := o.Payload
		if err := producer.Produce(rw, payload); err != nil {
			panic(err) // let the recovery middleware deal with this
		}
	}
}

// GenerateInvoiceForCustomerInternalServerErrorCode is the HTTP code returned for type GenerateInvoiceForCustomerInternalServerError
const GenerateInvoiceForCustomerInternalServerErrorCode int = 500

/*GenerateInvoiceForCustomerInternalServerError Something unexpected happend, error raised

swagger:response generateInvoiceForCustomerInternalServerError
*/
type GenerateInvoiceForCustomerInternalServerError struct {

	/*
	  In: Body
	*/
	Payload *models.ErrorResponse `json:"body,omitempty"`
}

// NewGenerateInvoiceForCustomerInternalServerError creates GenerateInvoiceForCustomerInternalServerError with default headers values
func NewGenerateInvoiceForCustomerInternalServerError() *GenerateInvoiceForCustomerInternalServerError {

	return &GenerateInvoiceForCustomerInternalServerError{}
}

// WithPayload adds the payload to the generate invoice for customer internal server error response
func (o *GenerateInvoiceForCustomerInternalServerError) WithPayload(payload *models.ErrorResponse) *GenerateInvoiceForCustomerInternalServerError {
	o.Payload = payload
	return o
}

// SetPayload sets the payload to the generate invoice for customer internal server error response
func (o *GenerateInvoiceForCustomerInternalServerError) SetPayload(payload *models.ErrorResponse) {
	o.Payload = payload
}

// WriteResponse to the client
func (o *GenerateInvoiceForCustomerInternalServerError) WriteResponse(rw http.ResponseWriter, producer runtime.Producer) {

	rw.WriteHeader(500)
	if o.Payload != nil {
		payload := o.Payload
		if err := producer.Produce(rw, payload); err != nil {
			panic(err) // let the recovery middleware deal with this
		}
	}
}
