116 lines
4.7 KiB
Go
116 lines
4.7 KiB
Go
|
package app
|
||
|
|
||
|
import "code.tnxs.net/taxnexus/lib/api/ops/ops_models"
|
||
|
|
||
|
// Invoice unMarshal does validation in the Ops microservice only
|
||
|
|
||
|
func (obj *Invoice) marshalToSwagger() *ops_models.Invoice { //nolint:funlen // big object
|
||
|
var items []*ops_models.InvoiceItem
|
||
|
if obj.Items != nil {
|
||
|
items = []*ops_models.InvoiceItem{}
|
||
|
for _, itm := range obj.Items {
|
||
|
items = append(items, itm.MarshalToSwagger())
|
||
|
}
|
||
|
}
|
||
|
var taxTransactions []*ops_models.TaxTransaction
|
||
|
if obj.TaxTransactions != nil {
|
||
|
taxTransactions = []*ops_models.TaxTransaction{}
|
||
|
for _, txn := range obj.TaxTransactions {
|
||
|
taxTransactions = append(taxTransactions, txn.MarshalToSwagger())
|
||
|
}
|
||
|
}
|
||
|
return &ops_models.Invoice{
|
||
|
ID: obj.ID,
|
||
|
AccountID: obj.AccountID,
|
||
|
Advance: obj.Advance,
|
||
|
Amount: obj.Amount,
|
||
|
AmountAdjustment: obj.AmountAdjustment,
|
||
|
AmountDue: obj.AmountDue,
|
||
|
AmountPaid: obj.AmountPaid,
|
||
|
AuditMessage: obj.AuditMessage,
|
||
|
BillingAddress: obj.BillingAddress.MarshalToOps(),
|
||
|
BillingContactID: obj.BillingContact,
|
||
|
BillingRunID: obj.BillingRunID,
|
||
|
BusinessAddress: obj.BusinessAddress.MarshalToOps(),
|
||
|
BusinessTax: obj.BusinessTax,
|
||
|
CannabisTax: obj.CannabisTax,
|
||
|
ContractID: obj.ContractID,
|
||
|
CoordinateID: obj.CoordinateID,
|
||
|
CreatedByID: obj.CreatedByID,
|
||
|
CreatedDate: obj.CreatedDate.Time.Format(dateTimeFormat),
|
||
|
CustomerID: obj.CustomerID,
|
||
|
DateIssued: obj.DateIssued.Time.Format(dateTimeFormat),
|
||
|
DaysDue: obj.DaysDue,
|
||
|
DepositAmount: obj.DepositAmount,
|
||
|
Description: obj.Description,
|
||
|
Discount: obj.Discount,
|
||
|
EstimatedAmount: obj.EstimatedAmount,
|
||
|
EstimatedBusinessTax: obj.EstimatedBusinessTax,
|
||
|
EstimatedCannabisTax: obj.EstimatedCannabisTax,
|
||
|
EstimatedCOGS: obj.EstimatedCOGS,
|
||
|
EstimatedDiscount: obj.EstimatedDiscount,
|
||
|
EstimatedSalesTax: obj.EstimatedSalesTax,
|
||
|
EstimatedSubtotal: obj.EstimatedSubtotal,
|
||
|
IngestID: obj.IngestID,
|
||
|
InvoiceDate: obj.InvoiceDate.Time.Format(dateFormat),
|
||
|
InvoiceNumber: obj.InvoiceNumber,
|
||
|
IsInternational: obj.IsInternational,
|
||
|
IssuedAccountBalance: obj.IssuedAccountBalance,
|
||
|
IssuedAmountDue: obj.IssuedAmountDue,
|
||
|
IssuedByID: obj.IssuedByID,
|
||
|
IsValid: obj.IsValid,
|
||
|
Items: items,
|
||
|
JobID: obj.JobID,
|
||
|
LastModifiedByID: obj.LastModifiedByID,
|
||
|
LastModifiedDate: obj.LastModifiedDate.Time.Format(dateTimeFormat),
|
||
|
MinimumPaymentDue: obj.MinimumPaymentDue,
|
||
|
MonthlyAmount: obj.MonthlyAmount,
|
||
|
OpportunityID: obj.OpportunityID,
|
||
|
OrderID: obj.OrderID,
|
||
|
OverDue0: obj.OverDue0,
|
||
|
OverDue120: obj.OverDue120,
|
||
|
OverDue30: obj.OverDue30,
|
||
|
OverDue45: obj.OverDue45,
|
||
|
OverDue60: obj.OverDue60,
|
||
|
OverDue90: obj.OverDue90,
|
||
|
ParentFK: obj.ParentFK,
|
||
|
PartnerAccountID: obj.PartnerAccountID,
|
||
|
PaymentDue: obj.PaymentDue.Time.Format(dateTimeFormat),
|
||
|
PaymentMethod: obj.PaymentMethodDescription,
|
||
|
PaymentMethodID: obj.PaymentMethodID,
|
||
|
PaymentTerms: obj.PaymentTerms,
|
||
|
PeriodID: obj.PeriodID,
|
||
|
PlaceGeocode: obj.PlaceGeoCode,
|
||
|
Posted: obj.Posted,
|
||
|
PriorAccountBalance: obj.PriorAccountBalance,
|
||
|
PriorAdjustments: obj.PriorAdjustments,
|
||
|
PriorInvoiceAmount: obj.PriorInvoiceAmount,
|
||
|
PriorInvoiceDate: obj.PriorInvoiceDate.Time.Format(dateFormat),
|
||
|
PriorInvoiceID: obj.PriorInvoiceID,
|
||
|
PriorPaymentAmount: obj.PriorPaymentAmount,
|
||
|
PriorPaymentDate: obj.PriorPaymentDate.Time.Format(dateFormat),
|
||
|
PriorPaymentID: obj.PriorPaymentID,
|
||
|
PriorPaymentMemo: obj.PriorPaymentMemo,
|
||
|
Prorated: obj.Prorated,
|
||
|
ProtratedDays: obj.ProratedDays,
|
||
|
PurchaseAmount: obj.PurchaseAmount,
|
||
|
QuoteID: obj.QuoteID,
|
||
|
RatingEngineID: obj.RatingEngineID,
|
||
|
Ref: obj.Ref,
|
||
|
Reference: obj.Reference,
|
||
|
SalesRegulation: obj.SalesRegulation,
|
||
|
SalesTax: obj.SalesTax,
|
||
|
ScheduledPaymentDate: obj.ScheduledPaymentDate.Time.Format(dateFormat),
|
||
|
ServiceTerm: obj.ServiceTerm,
|
||
|
ShippingAddress: obj.ShippingAddress.MarshalToOps(),
|
||
|
ShippingHandling: obj.ShippingHandling,
|
||
|
Status: obj.Status,
|
||
|
Subtotal: obj.Subtotal,
|
||
|
TaxTransactions: taxTransactions,
|
||
|
TelecomTax: obj.TelecomTax,
|
||
|
TemplateID: obj.TemplateID,
|
||
|
Total: obj.Total.MarshalToSwagger(),
|
||
|
Type: obj.Type,
|
||
|
}
|
||
|
}
|