sfgboxapi

<back to all web services

ProductsMetricsAdd

Requires Authentication
The following routes are available for this service:
POST/products_metrics
<?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 ProductsMetricsAddResponse implements JsonSerializable
{
    public function __construct(
        // @DataMember(Order=2)
        /** @var int */
        public int $tenantsId=0,

        // @DataMember(Order=3)
        /** @var int */
        public int $zonesId=0,

        // @DataMember(Order=4)
        /** @var int */
        public int $productsId=0,

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

        // @DataMember(Order=6)
        /** @var string|null */
        public ?string $priceDescription=null,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        // @DataMember(Order=38)
        /** @var float|null */
        public ?float $niacinPercRda=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=42)
        /** @var float|null */
        public ?float $panthenicAcidPercRda=null,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        // @DataMember(Order=58)
        /** @var float|null */
        public ?float $sodiumPercRda=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=62)
        /** @var float|null */
        public ?float $thiaminPercRda=null,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        // @DataMember(Order=81)
        /** @var ResponseStatus|null */
        public ?ResponseStatus $responseStatus=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        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['betainePercRda'])) $this->betainePercRda = $o['betainePercRda'];
        if (isset($o['betaineMg'])) $this->betaineMg = $o['betaineMg'];
        if (isset($o['calciumPercRda'])) $this->calciumPercRda = $o['calciumPercRda'];
        if (isset($o['calciumMg'])) $this->calciumMg = $o['calciumMg'];
        if (isset($o['caloriesPercRda'])) $this->caloriesPercRda = $o['caloriesPercRda'];
        if (isset($o['caloriesKc'])) $this->caloriesKc = $o['caloriesKc'];
        if (isset($o['carbohydratesPercRda'])) $this->carbohydratesPercRda = $o['carbohydratesPercRda'];
        if (isset($o['carbohydratesG'])) $this->carbohydratesG = $o['carbohydratesG'];
        if (isset($o['carbohydratesKc'])) $this->carbohydratesKc = $o['carbohydratesKc'];
        if (isset($o['carbohydratesKj'])) $this->carbohydratesKj = $o['carbohydratesKj'];
        if (isset($o['cholinePercRda'])) $this->cholinePercRda = $o['cholinePercRda'];
        if (isset($o['cholineMg'])) $this->cholineMg = $o['cholineMg'];
        if (isset($o['copperPercRda'])) $this->copperPercRda = $o['copperPercRda'];
        if (isset($o['copperMg'])) $this->copperMg = $o['copperMg'];
        if (isset($o['fatPercRda'])) $this->fatPercRda = $o['fatPercRda'];
        if (isset($o['fatG'])) $this->fatG = $o['fatG'];
        if (isset($o['fatKc'])) $this->fatKc = $o['fatKc'];
        if (isset($o['fatKj'])) $this->fatKj = $o['fatKj'];
        if (isset($o['fiberG'])) $this->fiberG = $o['fiberG'];
        if (isset($o['fluoridePercRda'])) $this->fluoridePercRda = $o['fluoridePercRda'];
        if (isset($o['fluorideMg'])) $this->fluorideMg = $o['fluorideMg'];
        if (isset($o['folatePercRda'])) $this->folatePercRda = $o['folatePercRda'];
        if (isset($o['folateMcg'])) $this->folateMcg = $o['folateMcg'];
        if (isset($o['ironPercRda'])) $this->ironPercRda = $o['ironPercRda'];
        if (isset($o['ironMg'])) $this->ironMg = $o['ironMg'];
        if (isset($o['kilojoulesKj'])) $this->kilojoulesKj = $o['kilojoulesKj'];
        if (isset($o['magnesiumPercRda'])) $this->magnesiumPercRda = $o['magnesiumPercRda'];
        if (isset($o['magnesiumMg'])) $this->magnesiumMg = $o['magnesiumMg'];
        if (isset($o['mangenesePercRda'])) $this->mangenesePercRda = $o['mangenesePercRda'];
        if (isset($o['mangeneseMg'])) $this->mangeneseMg = $o['mangeneseMg'];
        if (isset($o['monoG'])) $this->monoG = $o['monoG'];
        if (isset($o['niacinPercRda'])) $this->niacinPercRda = $o['niacinPercRda'];
        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['panthenicAcidPercRda'])) $this->panthenicAcidPercRda = $o['panthenicAcidPercRda'];
        if (isset($o['panthenicAcidMg'])) $this->panthenicAcidMg = $o['panthenicAcidMg'];
        if (isset($o['phosphorusPercRda'])) $this->phosphorusPercRda = $o['phosphorusPercRda'];
        if (isset($o['phosphorusMg'])) $this->phosphorusMg = $o['phosphorusMg'];
        if (isset($o['polyG'])) $this->polyG = $o['polyG'];
        if (isset($o['potassiumPercRda'])) $this->potassiumPercRda = $o['potassiumPercRda'];
        if (isset($o['potassiumMg'])) $this->potassiumMg = $o['potassiumMg'];
        if (isset($o['proteinPercRda'])) $this->proteinPercRda = $o['proteinPercRda'];
        if (isset($o['proteinG'])) $this->proteinG = $o['proteinG'];
        if (isset($o['proteinKc'])) $this->proteinKc = $o['proteinKc'];
        if (isset($o['proteinKj'])) $this->proteinKj = $o['proteinKj'];
        if (isset($o['riboflavinPercRda'])) $this->riboflavinPercRda = $o['riboflavinPercRda'];
        if (isset($o['riboflavinMg'])) $this->riboflavinMg = $o['riboflavinMg'];
        if (isset($o['saturatedG'])) $this->saturatedG = $o['saturatedG'];
        if (isset($o['seleniumPercRda'])) $this->seleniumPercRda = $o['seleniumPercRda'];
        if (isset($o['seleniumMcg'])) $this->seleniumMcg = $o['seleniumMcg'];
        if (isset($o['sodiumPercRda'])) $this->sodiumPercRda = $o['sodiumPercRda'];
        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['thiaminPercRda'])) $this->thiaminPercRda = $o['thiaminPercRda'];
        if (isset($o['thiaminMg'])) $this->thiaminMg = $o['thiaminMg'];
        if (isset($o['vitaminAPercRda'])) $this->vitaminAPercRda = $o['vitaminAPercRda'];
        if (isset($o['vitaminAMcg'])) $this->vitaminAMcg = $o['vitaminAMcg'];
        if (isset($o['vitaminB12PercRda'])) $this->vitaminB12PercRda = $o['vitaminB12PercRda'];
        if (isset($o['vitaminB12Mcg'])) $this->vitaminB12Mcg = $o['vitaminB12Mcg'];
        if (isset($o['vitaminB6PercRda'])) $this->vitaminB6PercRda = $o['vitaminB6PercRda'];
        if (isset($o['vitaminB6Mg'])) $this->vitaminB6Mg = $o['vitaminB6Mg'];
        if (isset($o['vitaminCPercRda'])) $this->vitaminCPercRda = $o['vitaminCPercRda'];
        if (isset($o['vitaminCMg'])) $this->vitaminCMg = $o['vitaminCMg'];
        if (isset($o['vitaminDPercRda'])) $this->vitaminDPercRda = $o['vitaminDPercRda'];
        if (isset($o['vitaminDMg'])) $this->vitaminDMg = $o['vitaminDMg'];
        if (isset($o['vitaminEPercRda'])) $this->vitaminEPercRda = $o['vitaminEPercRda'];
        if (isset($o['vitaminEMg'])) $this->vitaminEMg = $o['vitaminEMg'];
        if (isset($o['vitaminKPercRda'])) $this->vitaminKPercRda = $o['vitaminKPercRda'];
        if (isset($o['vitaminKMcg'])) $this->vitaminKMcg = $o['vitaminKMcg'];
        if (isset($o['zincPercRda'])) $this->zincPercRda = $o['zincPercRda'];
        if (isset($o['zincMg'])) $this->zincMg = $o['zincMg'];
        if (isset($o['transG'])) $this->transG = $o['transG'];
        if (isset($o['responseStatus'])) $this->responseStatus = JsonConverters::from('ResponseStatus', $o['responseStatus']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        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->betainePercRda)) $o['betainePercRda'] = $this->betainePercRda;
        if (isset($this->betaineMg)) $o['betaineMg'] = $this->betaineMg;
        if (isset($this->calciumPercRda)) $o['calciumPercRda'] = $this->calciumPercRda;
        if (isset($this->calciumMg)) $o['calciumMg'] = $this->calciumMg;
        if (isset($this->caloriesPercRda)) $o['caloriesPercRda'] = $this->caloriesPercRda;
        if (isset($this->caloriesKc)) $o['caloriesKc'] = $this->caloriesKc;
        if (isset($this->carbohydratesPercRda)) $o['carbohydratesPercRda'] = $this->carbohydratesPercRda;
        if (isset($this->carbohydratesG)) $o['carbohydratesG'] = $this->carbohydratesG;
        if (isset($this->carbohydratesKc)) $o['carbohydratesKc'] = $this->carbohydratesKc;
        if (isset($this->carbohydratesKj)) $o['carbohydratesKj'] = $this->carbohydratesKj;
        if (isset($this->cholinePercRda)) $o['cholinePercRda'] = $this->cholinePercRda;
        if (isset($this->cholineMg)) $o['cholineMg'] = $this->cholineMg;
        if (isset($this->copperPercRda)) $o['copperPercRda'] = $this->copperPercRda;
        if (isset($this->copperMg)) $o['copperMg'] = $this->copperMg;
        if (isset($this->fatPercRda)) $o['fatPercRda'] = $this->fatPercRda;
        if (isset($this->fatG)) $o['fatG'] = $this->fatG;
        if (isset($this->fatKc)) $o['fatKc'] = $this->fatKc;
        if (isset($this->fatKj)) $o['fatKj'] = $this->fatKj;
        if (isset($this->fiberG)) $o['fiberG'] = $this->fiberG;
        if (isset($this->fluoridePercRda)) $o['fluoridePercRda'] = $this->fluoridePercRda;
        if (isset($this->fluorideMg)) $o['fluorideMg'] = $this->fluorideMg;
        if (isset($this->folatePercRda)) $o['folatePercRda'] = $this->folatePercRda;
        if (isset($this->folateMcg)) $o['folateMcg'] = $this->folateMcg;
        if (isset($this->ironPercRda)) $o['ironPercRda'] = $this->ironPercRda;
        if (isset($this->ironMg)) $o['ironMg'] = $this->ironMg;
        if (isset($this->kilojoulesKj)) $o['kilojoulesKj'] = $this->kilojoulesKj;
        if (isset($this->magnesiumPercRda)) $o['magnesiumPercRda'] = $this->magnesiumPercRda;
        if (isset($this->magnesiumMg)) $o['magnesiumMg'] = $this->magnesiumMg;
        if (isset($this->mangenesePercRda)) $o['mangenesePercRda'] = $this->mangenesePercRda;
        if (isset($this->mangeneseMg)) $o['mangeneseMg'] = $this->mangeneseMg;
        if (isset($this->monoG)) $o['monoG'] = $this->monoG;
        if (isset($this->niacinPercRda)) $o['niacinPercRda'] = $this->niacinPercRda;
        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->panthenicAcidPercRda)) $o['panthenicAcidPercRda'] = $this->panthenicAcidPercRda;
        if (isset($this->panthenicAcidMg)) $o['panthenicAcidMg'] = $this->panthenicAcidMg;
        if (isset($this->phosphorusPercRda)) $o['phosphorusPercRda'] = $this->phosphorusPercRda;
        if (isset($this->phosphorusMg)) $o['phosphorusMg'] = $this->phosphorusMg;
        if (isset($this->polyG)) $o['polyG'] = $this->polyG;
        if (isset($this->potassiumPercRda)) $o['potassiumPercRda'] = $this->potassiumPercRda;
        if (isset($this->potassiumMg)) $o['potassiumMg'] = $this->potassiumMg;
        if (isset($this->proteinPercRda)) $o['proteinPercRda'] = $this->proteinPercRda;
        if (isset($this->proteinG)) $o['proteinG'] = $this->proteinG;
        if (isset($this->proteinKc)) $o['proteinKc'] = $this->proteinKc;
        if (isset($this->proteinKj)) $o['proteinKj'] = $this->proteinKj;
        if (isset($this->riboflavinPercRda)) $o['riboflavinPercRda'] = $this->riboflavinPercRda;
        if (isset($this->riboflavinMg)) $o['riboflavinMg'] = $this->riboflavinMg;
        if (isset($this->saturatedG)) $o['saturatedG'] = $this->saturatedG;
        if (isset($this->seleniumPercRda)) $o['seleniumPercRda'] = $this->seleniumPercRda;
        if (isset($this->seleniumMcg)) $o['seleniumMcg'] = $this->seleniumMcg;
        if (isset($this->sodiumPercRda)) $o['sodiumPercRda'] = $this->sodiumPercRda;
        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->thiaminPercRda)) $o['thiaminPercRda'] = $this->thiaminPercRda;
        if (isset($this->thiaminMg)) $o['thiaminMg'] = $this->thiaminMg;
        if (isset($this->vitaminAPercRda)) $o['vitaminAPercRda'] = $this->vitaminAPercRda;
        if (isset($this->vitaminAMcg)) $o['vitaminAMcg'] = $this->vitaminAMcg;
        if (isset($this->vitaminB12PercRda)) $o['vitaminB12PercRda'] = $this->vitaminB12PercRda;
        if (isset($this->vitaminB12Mcg)) $o['vitaminB12Mcg'] = $this->vitaminB12Mcg;
        if (isset($this->vitaminB6PercRda)) $o['vitaminB6PercRda'] = $this->vitaminB6PercRda;
        if (isset($this->vitaminB6Mg)) $o['vitaminB6Mg'] = $this->vitaminB6Mg;
        if (isset($this->vitaminCPercRda)) $o['vitaminCPercRda'] = $this->vitaminCPercRda;
        if (isset($this->vitaminCMg)) $o['vitaminCMg'] = $this->vitaminCMg;
        if (isset($this->vitaminDPercRda)) $o['vitaminDPercRda'] = $this->vitaminDPercRda;
        if (isset($this->vitaminDMg)) $o['vitaminDMg'] = $this->vitaminDMg;
        if (isset($this->vitaminEPercRda)) $o['vitaminEPercRda'] = $this->vitaminEPercRda;
        if (isset($this->vitaminEMg)) $o['vitaminEMg'] = $this->vitaminEMg;
        if (isset($this->vitaminKPercRda)) $o['vitaminKPercRda'] = $this->vitaminKPercRda;
        if (isset($this->vitaminKMcg)) $o['vitaminKMcg'] = $this->vitaminKMcg;
        if (isset($this->zincPercRda)) $o['zincPercRda'] = $this->zincPercRda;
        if (isset($this->zincMg)) $o['zincMg'] = $this->zincMg;
        if (isset($this->transG)) $o['transG'] = $this->transG;
        if (isset($this->responseStatus)) $o['responseStatus'] = JsonConverters::to('ResponseStatus', $this->responseStatus);
        return empty($o) ? new class(){} : $o;
    }
}

// @DataContract
class ProductsMetricsAdd implements JsonSerializable
{
    public function __construct(
        // @DataMember(Order=2)
        // @Validate(Validator="NotNull")
        /** @var int */
        public int $tenantsId=0,

        // @DataMember(Order=3)
        // @Validate(Validator="NotNull")
        /** @var int */
        public int $zonesId=0,

        // @DataMember(Order=4)
        // @Validate(Validator="NotNull")
        /** @var int */
        public int $productsId=0,

        // @DataMember(Order=5)
        // @Validate(Validator="NotNull")
        /** @var float */
        public float $priceKg=0.0,

        // @DataMember(Order=6)
        // @Validate(Validator="NotNull")
        /** @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['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->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;
    }
}

PHP ProductsMetricsAdd DTOs

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

HTTP + OTHER

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

POST /products_metrics HTTP/1.1 
Host: sfgboxapi.dev.scadsoftware.com 
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length

{"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/jsonl
Content-Length: length

{"tenantsId":0,"zonesId":0,"productsId":0,"priceKg":0,"priceDescription":"String","betaineMg":0,"calciumPercRda":0,"calciumMg":0,"caloriesPercRda":0,"caloriesKc":0,"carbohydratesPercRda":0,"carbohydratesG":0,"carbohydratesKc":0,"carbohydratesKj":0,"cholinePercRda":0,"cholineMg":0,"copperPercRda":0,"copperMg":0,"fatPercRda":0,"fatKc":0,"fatKj":0,"fiberG":0,"fluoridePercRda":0,"fluorideMg":0,"folatePercRda":0,"folateMcg":0,"ironPercRda":0,"ironMg":0,"kilojoulesKj":0,"magnesiumPercRda":0,"magnesiumMg":0,"mangenesePercRda":0,"mangeneseMg":0,"monoG":0,"niacinPercRda":0,"niacinMg":0,"omega3Mg":0,"omega6Mg":0,"panthenicAcidPercRda":0,"panthenicAcidMg":0,"phosphorusPercRda":0,"phosphorusMg":0,"polyG":0,"potassiumPercRda":0,"potassiumMg":0,"proteinPercRda":0,"proteinG":0,"proteinKc":0,"proteinKj":0,"riboflavinPercRda":0,"riboflavinMg":0,"saturatedG":0,"seleniumPercRda":0,"seleniumMcg":0,"sodiumPercRda":0,"sodiumMg":0,"starchG":0,"sugarsG":0,"thiaminPercRda":0,"thiaminMg":0,"vitaminAPercRda":0,"vitaminAMcg":0,"vitaminB12PercRda":0,"vitaminB12Mcg":0,"vitaminB6PercRda":0,"vitaminB6Mg":0,"vitaminCPercRda":0,"vitaminCMg":0,"vitaminDPercRda":0,"vitaminDMg":0,"vitaminEPercRda":0,"vitaminEMg":0,"vitaminKPercRda":0,"vitaminKMcg":0,"zincPercRda":0,"zincMg":0,"transG":0,"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}}