// Code generated by go-swagger; DO NOT EDIT. // All Code Copyright(c) 2018-2021 by Taxnexus, Inc. // All rights reserved worldwide. // Proprietary product; unlicensed use is not allowed package sf_gate_models // This file was generated by the swagger tool. // Editing this file might prove futile when you re-run the swagger generate command import ( "encoding/json" "github.com/go-openapi/errors" "github.com/go-openapi/strfmt" "github.com/go-openapi/swag" "github.com/go-openapi/validate" ) // ItemBasic item basic // // swagger:model ItemBasic type ItemBasic struct { // Cost of Goods Sold Cogs float64 `json:"cogs,omitempty"` // Line Item Description Description string `json:"description,omitempty"` // Taxnexus Record Id Only; not used in POST ID string `json:"id,omitempty"` // Source System Parent Foreign Key to Invoice Invoiceid string `json:"invoiceid,omitempty"` // UUID Reference the master record that owns this item Parentfk string `json:"parentfk,omitempty"` // Product Code Productcode string `json:"productcode,omitempty"` // Quantity // Required: true Quantity *float64 `json:"quantity"` // Source System identifier for this record, if any // Required: true Ref *string `json:"ref"` // Sales Regulation Type Salesregulation string `json:"salesregulation,omitempty"` // Shipping & Handling and Delivery Fees for this Item Shippinghandling float64 `json:"shippinghandling,omitempty"` // Subtotal Subtotal float64 `json:"subtotal,omitempty"` // Taxnexus Code // Required: true Taxnexuscode *string `json:"taxnexuscode"` // Unit Price // Required: true Unitprice *float64 `json:"unitprice"` // The Unit of Measure for this item // Enum: [each month day week hour oz_drywt_flower oz_drywt_leaves oz_fresh gm oz lb] Units string `json:"units,omitempty"` } // Validate validates this item basic func (m *ItemBasic) Validate(formats strfmt.Registry) error { var res []error if err := m.validateQuantity(formats); err != nil { res = append(res, err) } if err := m.validateRef(formats); err != nil { res = append(res, err) } if err := m.validateTaxnexuscode(formats); err != nil { res = append(res, err) } if err := m.validateUnitprice(formats); err != nil { res = append(res, err) } if err := m.validateUnits(formats); err != nil { res = append(res, err) } if len(res) > 0 { return errors.CompositeValidationError(res...) } return nil } func (m *ItemBasic) validateQuantity(formats strfmt.Registry) error { if err := validate.Required("quantity", "body", m.Quantity); err != nil { return err } return nil } func (m *ItemBasic) validateRef(formats strfmt.Registry) error { if err := validate.Required("ref", "body", m.Ref); err != nil { return err } return nil } func (m *ItemBasic) validateTaxnexuscode(formats strfmt.Registry) error { if err := validate.Required("taxnexuscode", "body", m.Taxnexuscode); err != nil { return err } return nil } func (m *ItemBasic) validateUnitprice(formats strfmt.Registry) error { if err := validate.Required("unitprice", "body", m.Unitprice); err != nil { return err } return nil } var itemBasicTypeUnitsPropEnum []interface{} func init() { var res []string if err := json.Unmarshal([]byte(`["each","month","day","week","hour","oz_drywt_flower","oz_drywt_leaves","oz_fresh","gm","oz","lb"]`), &res); err != nil { panic(err) } for _, v := range res { itemBasicTypeUnitsPropEnum = append(itemBasicTypeUnitsPropEnum, v) } } const ( // ItemBasicUnitsEach captures enum value "each" ItemBasicUnitsEach string = "each" // ItemBasicUnitsMonth captures enum value "month" ItemBasicUnitsMonth string = "month" // ItemBasicUnitsDay captures enum value "day" ItemBasicUnitsDay string = "day" // ItemBasicUnitsWeek captures enum value "week" ItemBasicUnitsWeek string = "week" // ItemBasicUnitsHour captures enum value "hour" ItemBasicUnitsHour string = "hour" // ItemBasicUnitsOzDrywtFlower captures enum value "oz_drywt_flower" ItemBasicUnitsOzDrywtFlower string = "oz_drywt_flower" // ItemBasicUnitsOzDrywtLeaves captures enum value "oz_drywt_leaves" ItemBasicUnitsOzDrywtLeaves string = "oz_drywt_leaves" // ItemBasicUnitsOzFresh captures enum value "oz_fresh" ItemBasicUnitsOzFresh string = "oz_fresh" // ItemBasicUnitsGm captures enum value "gm" ItemBasicUnitsGm string = "gm" // ItemBasicUnitsOz captures enum value "oz" ItemBasicUnitsOz string = "oz" // ItemBasicUnitsLb captures enum value "lb" ItemBasicUnitsLb string = "lb" ) // prop value enum func (m *ItemBasic) validateUnitsEnum(path, location string, value string) error { if err := validate.EnumCase(path, location, value, itemBasicTypeUnitsPropEnum, true); err != nil { return err } return nil } func (m *ItemBasic) validateUnits(formats strfmt.Registry) error { if swag.IsZero(m.Units) { // not required return nil } // value enum if err := m.validateUnitsEnum("units", "body", m.Units); err != nil { return err } return nil } // MarshalBinary interface implementation func (m *ItemBasic) MarshalBinary() ([]byte, error) { if m == nil { return nil, nil } return swag.WriteJSON(m) } // UnmarshalBinary interface implementation func (m *ItemBasic) UnmarshalBinary(b []byte) error { var res ItemBasic if err := swag.ReadJSON(b, &res); err != nil { return err } *m = res return nil }