package app

import "code.tnxs.net/taxnexus/lib/api/ops/ops_models"

// Invoice unMarshal does validation in the Ops microservice only

// MarshalToSwagger encodes first class object
func (obj *InvoiceItem) MarshalToSwagger() *ops_models.InvoiceItem {
	return &ops_models.InvoiceItem{
		ID:               obj.ID,
		COGS:             obj.COGS,
		CreatedByID:      obj.CreatedByID,
		CreatedDate:      obj.CreatedDate.Time.Format(dateTimeFormat),
		Description:      obj.Description,
		Family:           obj.Family,
		InvoiceID:        obj.InvoiceID,
		LastModifiedByID: obj.LastModifiedByID,
		LastModifiedDate: obj.LastModifiedDate.Time.Format(dateTimeFormat),
		ListPrice:        obj.ListPrice,
		MRCInterval:      obj.MRCInterval,
		OrderItemID:      obj.OrderItemID,
		ParentFK:         obj.ParentFK,
		ProductCode:      obj.ProductCode,
		ProductID:        obj.ProductID,
		Quantity:         obj.Quantity,
		QuoteItemID:      obj.QuoteItemID,
		Ref:              obj.Ref,
		RejectedQuantity: obj.RejectedQuantity,
		ShippedQuantity:  obj.ShippedQuantity,
		ShippingHandling: obj.ShippingHandling,
		SKU:              obj.SKU,
		SubscriptionID:   obj.SubscriptionID,
		Subtotal:         obj.Subtotal,
		TaxnexusCode:     obj.TaxnexusCodeDisplay,
		TenantID:         obj.TenantID,
		TotalPrice:       obj.TotalPrice,
		UnitPrice:        obj.UnitPrice,
		Units:            obj.Units,
	}
}
