sfgboxapi

<back to all web services

ProductsMetricsAutoQueryEdit

<?php namespace dtos;

use DateTime;
use Exception;
use DateInterval;
use JsonSerializable;
use ServiceStack\{IReturn,IReturnVoid,IGet,IPost,IPut,IDelete,IPatch,IMeta,IHasSessionId,IHasBearerToken,IHasVersion};
use ServiceStack\{ICrud,ICreateDb,IUpdateDb,IPatchDb,IDeleteDb,ISaveDb,AuditBase,QueryDb,QueryDb2,QueryData,QueryData2,QueryResponse};
use ServiceStack\{ResponseStatus,ResponseError,EmptyResponse,IdResponse,ArrayList,KeyValuePair2,StringResponse,StringsResponse,Tuple2,Tuple3,ByteArray};
use ServiceStack\{JsonConverters,Returns,TypeContext};


class ProductsMetrics implements JsonSerializable
{
    public function __construct(
        // @DataMember(Order=1)
        // @Required()
        /** @var int */
        public int $id=0,

        // @DataMember(Order=2)
        // @Required()
        // @References("typeof(sfgboxapi.ServiceModel.Types.Tenants)")
        /** @var int */
        public int $tenantsId=0,

        // @DataMember(Order=3)
        // @Required()
        // @References("typeof(sfgboxapi.ServiceModel.Types.Zones)")
        /** @var int */
        public int $zonesId=0,

        // @DataMember(Order=4)
        // @Required()
        // @References("typeof(sfgboxapi.ServiceModel.Types.Products)")
        /** @var int */
        public int $productsId=0,

        // @DataMember(Order=5)
        // @Required()
        /** @var float */
        public float $priceKg=0.0,

        // @DataMember(Order=6)
        // @Required()
        /** @var string */
        public string $priceDescription='',

        // @DataMember(Order=8)
        /** @var float|null */
        public ?float $betaineMg=null,

        // @DataMember(Order=10)
        /** @var float|null */
        public ?float $calciumMg=null,

        // @DataMember(Order=18)
        /** @var float|null */
        public ?float $cholineMg=null,

        // @DataMember(Order=20)
        /** @var float|null */
        public ?float $copperMg=null,

        // @DataMember(Order=25)
        /** @var float|null */
        public ?float $fiberG=null,

        // @DataMember(Order=27)
        /** @var float|null */
        public ?float $fluorideMg=null,

        // @DataMember(Order=29)
        /** @var float|null */
        public ?float $folateMcg=null,

        // @DataMember(Order=31)
        /** @var float|null */
        public ?float $ironMg=null,

        // @DataMember(Order=34)
        /** @var float|null */
        public ?float $magnesiumMg=null,

        // @DataMember(Order=36)
        /** @var float|null */
        public ?float $mangeneseMg=null,

        // @DataMember(Order=37)
        /** @var float|null */
        public ?float $monoG=null,

        // @DataMember(Order=39)
        /** @var float|null */
        public ?float $niacinMg=null,

        // @DataMember(Order=40)
        /** @var float|null */
        public ?float $omega3Mg=null,

        // @DataMember(Order=41)
        /** @var float|null */
        public ?float $omega6Mg=null,

        // @DataMember(Order=43)
        /** @var float|null */
        public ?float $panthenicAcidMg=null,

        // @DataMember(Order=45)
        /** @var float|null */
        public ?float $phosphorusMg=null,

        // @DataMember(Order=46)
        /** @var float|null */
        public ?float $polyG=null,

        // @DataMember(Order=48)
        /** @var float|null */
        public ?float $potassiumMg=null,

        // @DataMember(Order=50)
        /** @var float|null */
        public ?float $proteinG=null,

        // @DataMember(Order=54)
        /** @var float|null */
        public ?float $riboflavinMg=null,

        // @DataMember(Order=55)
        /** @var float|null */
        public ?float $saturatedG=null,

        // @DataMember(Order=57)
        /** @var float|null */
        public ?float $seleniumMcg=null,

        // @DataMember(Order=59)
        /** @var float|null */
        public ?float $sodiumMg=null,

        // @DataMember(Order=60)
        /** @var float|null */
        public ?float $starchG=null,

        // @DataMember(Order=61)
        /** @var float|null */
        public ?float $sugarsG=null,

        // @DataMember(Order=63)
        /** @var float|null */
        public ?float $thiaminMg=null,

        // @DataMember(Order=65)
        /** @var float|null */
        public ?float $vitaminAMcg=null,

        // @DataMember(Order=67)
        /** @var float|null */
        public ?float $vitaminB12Mcg=null,

        // @DataMember(Order=69)
        /** @var float|null */
        public ?float $vitaminB6Mg=null,

        // @DataMember(Order=71)
        /** @var float|null */
        public ?float $vitaminCMg=null,

        // @DataMember(Order=73)
        /** @var float|null */
        public ?float $vitaminDMg=null,

        // @DataMember(Order=75)
        /** @var float|null */
        public ?float $vitaminEMg=null,

        // @DataMember(Order=77)
        /** @var float|null */
        public ?float $vitaminKMcg=null,

        // @DataMember(Order=79)
        /** @var float|null */
        public ?float $zincMg=null,

        // @DataMember(Order=80)
        /** @var float|null */
        public ?float $transG=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['id'])) $this->id = $o['id'];
        if (isset($o['tenantsId'])) $this->tenantsId = $o['tenantsId'];
        if (isset($o['zonesId'])) $this->zonesId = $o['zonesId'];
        if (isset($o['productsId'])) $this->productsId = $o['productsId'];
        if (isset($o['priceKg'])) $this->priceKg = $o['priceKg'];
        if (isset($o['priceDescription'])) $this->priceDescription = $o['priceDescription'];
        if (isset($o['betaineMg'])) $this->betaineMg = $o['betaineMg'];
        if (isset($o['calciumMg'])) $this->calciumMg = $o['calciumMg'];
        if (isset($o['cholineMg'])) $this->cholineMg = $o['cholineMg'];
        if (isset($o['copperMg'])) $this->copperMg = $o['copperMg'];
        if (isset($o['fiberG'])) $this->fiberG = $o['fiberG'];
        if (isset($o['fluorideMg'])) $this->fluorideMg = $o['fluorideMg'];
        if (isset($o['folateMcg'])) $this->folateMcg = $o['folateMcg'];
        if (isset($o['ironMg'])) $this->ironMg = $o['ironMg'];
        if (isset($o['magnesiumMg'])) $this->magnesiumMg = $o['magnesiumMg'];
        if (isset($o['mangeneseMg'])) $this->mangeneseMg = $o['mangeneseMg'];
        if (isset($o['monoG'])) $this->monoG = $o['monoG'];
        if (isset($o['niacinMg'])) $this->niacinMg = $o['niacinMg'];
        if (isset($o['omega3Mg'])) $this->omega3Mg = $o['omega3Mg'];
        if (isset($o['omega6Mg'])) $this->omega6Mg = $o['omega6Mg'];
        if (isset($o['panthenicAcidMg'])) $this->panthenicAcidMg = $o['panthenicAcidMg'];
        if (isset($o['phosphorusMg'])) $this->phosphorusMg = $o['phosphorusMg'];
        if (isset($o['polyG'])) $this->polyG = $o['polyG'];
        if (isset($o['potassiumMg'])) $this->potassiumMg = $o['potassiumMg'];
        if (isset($o['proteinG'])) $this->proteinG = $o['proteinG'];
        if (isset($o['riboflavinMg'])) $this->riboflavinMg = $o['riboflavinMg'];
        if (isset($o['saturatedG'])) $this->saturatedG = $o['saturatedG'];
        if (isset($o['seleniumMcg'])) $this->seleniumMcg = $o['seleniumMcg'];
        if (isset($o['sodiumMg'])) $this->sodiumMg = $o['sodiumMg'];
        if (isset($o['starchG'])) $this->starchG = $o['starchG'];
        if (isset($o['sugarsG'])) $this->sugarsG = $o['sugarsG'];
        if (isset($o['thiaminMg'])) $this->thiaminMg = $o['thiaminMg'];
        if (isset($o['vitaminAMcg'])) $this->vitaminAMcg = $o['vitaminAMcg'];
        if (isset($o['vitaminB12Mcg'])) $this->vitaminB12Mcg = $o['vitaminB12Mcg'];
        if (isset($o['vitaminB6Mg'])) $this->vitaminB6Mg = $o['vitaminB6Mg'];
        if (isset($o['vitaminCMg'])) $this->vitaminCMg = $o['vitaminCMg'];
        if (isset($o['vitaminDMg'])) $this->vitaminDMg = $o['vitaminDMg'];
        if (isset($o['vitaminEMg'])) $this->vitaminEMg = $o['vitaminEMg'];
        if (isset($o['vitaminKMcg'])) $this->vitaminKMcg = $o['vitaminKMcg'];
        if (isset($o['zincMg'])) $this->zincMg = $o['zincMg'];
        if (isset($o['transG'])) $this->transG = $o['transG'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->id)) $o['id'] = $this->id;
        if (isset($this->tenantsId)) $o['tenantsId'] = $this->tenantsId;
        if (isset($this->zonesId)) $o['zonesId'] = $this->zonesId;
        if (isset($this->productsId)) $o['productsId'] = $this->productsId;
        if (isset($this->priceKg)) $o['priceKg'] = $this->priceKg;
        if (isset($this->priceDescription)) $o['priceDescription'] = $this->priceDescription;
        if (isset($this->betaineMg)) $o['betaineMg'] = $this->betaineMg;
        if (isset($this->calciumMg)) $o['calciumMg'] = $this->calciumMg;
        if (isset($this->cholineMg)) $o['cholineMg'] = $this->cholineMg;
        if (isset($this->copperMg)) $o['copperMg'] = $this->copperMg;
        if (isset($this->fiberG)) $o['fiberG'] = $this->fiberG;
        if (isset($this->fluorideMg)) $o['fluorideMg'] = $this->fluorideMg;
        if (isset($this->folateMcg)) $o['folateMcg'] = $this->folateMcg;
        if (isset($this->ironMg)) $o['ironMg'] = $this->ironMg;
        if (isset($this->magnesiumMg)) $o['magnesiumMg'] = $this->magnesiumMg;
        if (isset($this->mangeneseMg)) $o['mangeneseMg'] = $this->mangeneseMg;
        if (isset($this->monoG)) $o['monoG'] = $this->monoG;
        if (isset($this->niacinMg)) $o['niacinMg'] = $this->niacinMg;
        if (isset($this->omega3Mg)) $o['omega3Mg'] = $this->omega3Mg;
        if (isset($this->omega6Mg)) $o['omega6Mg'] = $this->omega6Mg;
        if (isset($this->panthenicAcidMg)) $o['panthenicAcidMg'] = $this->panthenicAcidMg;
        if (isset($this->phosphorusMg)) $o['phosphorusMg'] = $this->phosphorusMg;
        if (isset($this->polyG)) $o['polyG'] = $this->polyG;
        if (isset($this->potassiumMg)) $o['potassiumMg'] = $this->potassiumMg;
        if (isset($this->proteinG)) $o['proteinG'] = $this->proteinG;
        if (isset($this->riboflavinMg)) $o['riboflavinMg'] = $this->riboflavinMg;
        if (isset($this->saturatedG)) $o['saturatedG'] = $this->saturatedG;
        if (isset($this->seleniumMcg)) $o['seleniumMcg'] = $this->seleniumMcg;
        if (isset($this->sodiumMg)) $o['sodiumMg'] = $this->sodiumMg;
        if (isset($this->starchG)) $o['starchG'] = $this->starchG;
        if (isset($this->sugarsG)) $o['sugarsG'] = $this->sugarsG;
        if (isset($this->thiaminMg)) $o['thiaminMg'] = $this->thiaminMg;
        if (isset($this->vitaminAMcg)) $o['vitaminAMcg'] = $this->vitaminAMcg;
        if (isset($this->vitaminB12Mcg)) $o['vitaminB12Mcg'] = $this->vitaminB12Mcg;
        if (isset($this->vitaminB6Mg)) $o['vitaminB6Mg'] = $this->vitaminB6Mg;
        if (isset($this->vitaminCMg)) $o['vitaminCMg'] = $this->vitaminCMg;
        if (isset($this->vitaminDMg)) $o['vitaminDMg'] = $this->vitaminDMg;
        if (isset($this->vitaminEMg)) $o['vitaminEMg'] = $this->vitaminEMg;
        if (isset($this->vitaminKMcg)) $o['vitaminKMcg'] = $this->vitaminKMcg;
        if (isset($this->zincMg)) $o['zincMg'] = $this->zincMg;
        if (isset($this->transG)) $o['transG'] = $this->transG;
        return empty($o) ? new class(){} : $o;
    }
}

/**
 * @template IUpdateDb of ProductsMetrics
 */
class ProductsMetricsAutoQueryEdit extends ProductsMetrics implements IUpdateDb, JsonSerializable
{
    /**
     * @param int $id
     * @param int $tenantsId
     * @param int $zonesId
     * @param int $productsId
     * @param float $priceKg
     * @param string $priceDescription
     * @param float|null $betaineMg
     * @param float|null $calciumMg
     * @param float|null $cholineMg
     * @param float|null $copperMg
     * @param float|null $fiberG
     * @param float|null $fluorideMg
     * @param float|null $folateMcg
     * @param float|null $ironMg
     * @param float|null $magnesiumMg
     * @param float|null $mangeneseMg
     * @param float|null $monoG
     * @param float|null $niacinMg
     * @param float|null $omega3Mg
     * @param float|null $omega6Mg
     * @param float|null $panthenicAcidMg
     * @param float|null $phosphorusMg
     * @param float|null $polyG
     * @param float|null $potassiumMg
     * @param float|null $proteinG
     * @param float|null $riboflavinMg
     * @param float|null $saturatedG
     * @param float|null $seleniumMcg
     * @param float|null $sodiumMg
     * @param float|null $starchG
     * @param float|null $sugarsG
     * @param float|null $thiaminMg
     * @param float|null $vitaminAMcg
     * @param float|null $vitaminB12Mcg
     * @param float|null $vitaminB6Mg
     * @param float|null $vitaminCMg
     * @param float|null $vitaminDMg
     * @param float|null $vitaminEMg
     * @param float|null $vitaminKMcg
     * @param float|null $zincMg
     * @param float|null $transG
     */
    public function __construct(
        int $id=0,
        int $tenantsId=0,
        int $zonesId=0,
        int $productsId=0,
        float $priceKg=0.0,
        string $priceDescription='',
        ?float $betaineMg=null,
        ?float $calciumMg=null,
        ?float $cholineMg=null,
        ?float $copperMg=null,
        ?float $fiberG=null,
        ?float $fluorideMg=null,
        ?float $folateMcg=null,
        ?float $ironMg=null,
        ?float $magnesiumMg=null,
        ?float $mangeneseMg=null,
        ?float $monoG=null,
        ?float $niacinMg=null,
        ?float $omega3Mg=null,
        ?float $omega6Mg=null,
        ?float $panthenicAcidMg=null,
        ?float $phosphorusMg=null,
        ?float $polyG=null,
        ?float $potassiumMg=null,
        ?float $proteinG=null,
        ?float $riboflavinMg=null,
        ?float $saturatedG=null,
        ?float $seleniumMcg=null,
        ?float $sodiumMg=null,
        ?float $starchG=null,
        ?float $sugarsG=null,
        ?float $thiaminMg=null,
        ?float $vitaminAMcg=null,
        ?float $vitaminB12Mcg=null,
        ?float $vitaminB6Mg=null,
        ?float $vitaminCMg=null,
        ?float $vitaminDMg=null,
        ?float $vitaminEMg=null,
        ?float $vitaminKMcg=null,
        ?float $zincMg=null,
        ?float $transG=null
    ) {
        parent::__construct($id,$tenantsId,$zonesId,$productsId,$priceKg,$priceDescription,$betaineMg,$calciumMg,$cholineMg,$copperMg,$fiberG,$fluorideMg,$folateMcg,$ironMg,$magnesiumMg,$mangeneseMg,$monoG,$niacinMg,$omega3Mg,$omega6Mg,$panthenicAcidMg,$phosphorusMg,$polyG,$potassiumMg,$proteinG,$riboflavinMg,$saturatedG,$seleniumMcg,$sodiumMg,$starchG,$sugarsG,$thiaminMg,$vitaminAMcg,$vitaminB12Mcg,$vitaminB6Mg,$vitaminCMg,$vitaminDMg,$vitaminEMg,$vitaminKMcg,$zincMg,$transG);
    }

    /** @throws Exception */
    public function fromMap($o): void {
        parent::fromMap($o);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = parent::jsonSerialize();
        return empty($o) ? new class(){} : $o;
    }
}

PHP ProductsMetricsAutoQueryEdit DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv

HTTP + CSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /csv/reply/ProductsMetricsAutoQueryEdit HTTP/1.1 
Host: api-stage.smartfarmertech.com 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"id":0,"tenantsId":0,"zonesId":0,"productsId":0,"priceKg":0,"priceDescription":"String","betaineMg":0,"calciumMg":0,"cholineMg":0,"copperMg":0,"fiberG":0,"fluorideMg":0,"folateMcg":0,"ironMg":0,"magnesiumMg":0,"mangeneseMg":0,"monoG":0,"niacinMg":0,"omega3Mg":0,"omega6Mg":0,"panthenicAcidMg":0,"phosphorusMg":0,"polyG":0,"potassiumMg":0,"proteinG":0,"riboflavinMg":0,"saturatedG":0,"seleniumMcg":0,"sodiumMg":0,"starchG":0,"sugarsG":0,"thiaminMg":0,"vitaminAMcg":0,"vitaminB12Mcg":0,"vitaminB6Mg":0,"vitaminCMg":0,"vitaminDMg":0,"vitaminEMg":0,"vitaminKMcg":0,"zincMg":0,"transG":0}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"id":0,"tenantsId":0,"zonesId":0,"productsId":0,"priceKg":0,"priceDescription":"String","betaineMg":0,"calciumMg":0,"cholineMg":0,"copperMg":0,"fiberG":0,"fluorideMg":0,"folateMcg":0,"ironMg":0,"magnesiumMg":0,"mangeneseMg":0,"monoG":0,"niacinMg":0,"omega3Mg":0,"omega6Mg":0,"panthenicAcidMg":0,"phosphorusMg":0,"polyG":0,"potassiumMg":0,"proteinG":0,"riboflavinMg":0,"saturatedG":0,"seleniumMcg":0,"sodiumMg":0,"starchG":0,"sugarsG":0,"thiaminMg":0,"vitaminAMcg":0,"vitaminB12Mcg":0,"vitaminB6Mg":0,"vitaminCMg":0,"vitaminDMg":0,"vitaminEMg":0,"vitaminKMcg":0,"zincMg":0,"transG":0}