package app

import (
	"database/sql"

	"code.tnxs.net/taxnexus/lib/api/geo/geo_models"
)

// CountyActivityWrapper wraps the object with workflow params
type CountyActivityWrapper struct {
	Obj      geo_models.County
	APIKey   string
	SagaID   string
	SagaType string
}

// County is a first class object type
type County struct {
	ID                  string
	AccountID           string
	Amount              float64
	AreaDescription     string
	ContactID           string
	CountryID           string
	CreatedByID         string
	CreatedDate         sql.NullTime
	EnrollmentStatus    string
	FIPS                string
	FIPSclass           string
	FunctionalStatus    string
	Geocode             string
	GNIS                int64
	HasDistrictTaxes    bool
	Interest            float64
	LandArea            int64
	LastModifiedByID    string
	LastModifiedDate    sql.NullTime
	Longitude           float64
	Latitude            float64
	LegalName           string
	Name                string
	OwnerID             string
	Penalty             float64
	Ref                 string
	ReportedAdjustments float64
	ReportedDeductions  float64
	ReportedNetRevenue  float64
	ReportedRate        float64
	ReportedRevenue     float64
	RevenueBase         float64
	RevenueNet          float64
	RevenueNotTaxable   float64
	SalesTaxRate        *TaxRate
	StateID             string
	Status              string
	Subtotal            float64
	TaxInstances        []*TaxInstance
	TemplateID          string
	TotalAmount         float64
	TotalArea           int64
	UnitBase            float64
	WaterArea           int64
}
