lib/app/quote-helpers.go

96 lines
3.7 KiB
Go
Raw Normal View History

2021-01-14 06:36:35 +00:00
package app
2021-01-17 21:49:00 +00:00
import "code.tnxs.net/taxnexus/lib/api/ops/ops_models"
2021-01-14 06:36:35 +00:00
2021-01-18 03:13:54 +00:00
// MarshalToSwagger encodes first class object
2021-01-17 21:49:00 +00:00
func (obj *Quote) MarshalToSwagger() *ops_models.Quote {
2021-01-14 06:36:35 +00:00
var items []*ops_models.QuoteItem
if obj.Items != nil {
items = []*ops_models.QuoteItem{}
for _, itm := range obj.Items {
items = append(items, itm.MarshalToSwagger())
}
}
var taxTransactions []*ops_models.TaxTransaction
if obj.TaxTransactions != nil {
taxTransactions = []*ops_models.TaxTransaction{}
for _, itm := range obj.TaxTransactions {
taxTransactions = append(taxTransactions, itm.MarshalToSwagger())
}
}
return &ops_models.Quote{
ID: obj.ID,
AccountID: obj.AccountID,
AdditionalAddress: obj.AdditionalAddress.MarshalToOps(),
AdditionalName: obj.AdditionalName,
Amount: obj.Amount,
BillingAddress: obj.BillingAddress.MarshalToOps(),
BillingContactID: obj.BillingContactID,
BillingName: obj.BillingName,
BusinessAddress: obj.BusinessAddress.MarshalToOps(),
BusinessTax: obj.BusinessTax,
CannabisTax: obj.CannabisTax,
ContactID: obj.ContactID,
ContractID: obj.ContractID,
CoordinateID: obj.CoordinateID,
CreatedByID: obj.CreatedByID,
CreatedDate: obj.CreatedDate.Time.Format(dateTimeFormat),
CreditTerms: obj.CreditTerms,
CustomerID: obj.CustomerID,
QuoteDate: obj.QuoteDate.Time.Format(dateTimeFormat),
Description: obj.Description,
Discount: obj.Discount,
DiscountAmount: obj.DiscountAmount,
Email: obj.Email,
EndUserID: obj.EndUserID,
EstimatedAmount: obj.EstimatedAmount,
EstimatedBusinessTax: obj.EstimatedBusinessTax,
EstimatedCannabisTax: obj.EstimatedCannabisTax,
EstimatedCOGS: obj.EstimatedCOGS,
EstimatedDiscount: obj.EstimatedDiscount,
EstimatedSalesTax: obj.EstimatedSalesTax,
EstimatedSubtotal: obj.EstimatedSubtotal,
ExpirationDate: obj.ExpirationDate.Time.Format(dateTimeFormat),
Fax: obj.Fax,
GrandTotal: obj.GrandTotal,
IngestID: obj.IngestID,
InstallationDate: obj.InstallationDate.Time.Format(dateTimeFormat),
Items: items,
LastModifiedByID: obj.LastModifiedByID,
LastModifiedDate: obj.LastModifiedDate.Time.Format(dateTimeFormat),
JobID: obj.JobID,
MonthlyAmount: obj.MonthlyAmount,
Name: obj.Name,
OpportunityID: obj.OpportunityID,
OwnerID: obj.OwnerID,
ParentFK: obj.ParentFK,
PaymentTerms: obj.PaymentTerms,
PeriodID: obj.PeriodID,
Phone: obj.Phone,
PlaceGeoCode: obj.PlaceGeoCode,
PurchaseAmount: obj.PurchaseAmount,
QuoteAmount: obj.QuoteAmount,
QuoteNumber: obj.QuoteNumber,
QuoteToAddress: obj.QuoteToAddress.MarshalToOps(),
QuoteToName: obj.QuoteToName,
Ref: obj.Ref,
SalesRegulation: obj.SalesRegulation,
SalesTax: obj.SalesTax,
ServiceTerm: obj.ServiceTerm,
ShippingAddress: obj.ShippingAddress.MarshalToOps(),
ShippingContactID: obj.ShippingContactID,
ShippingHandling: obj.ShippingHandling,
ShippingName: obj.ShippingName,
Status: obj.Status,
Subtotal: obj.Subtotal,
Tax: obj.Tax,
TaxTransactions: taxTransactions,
TelecomTax: obj.TelecomTax,
TemplateID: obj.TemplateID,
TenantID: obj.TenantID,
Total: obj.Total.MarshalToSwagger(),
TotalPrice: obj.TotalPrice,
Type: obj.Type,
}
}