public static void AddFNSR01StockTotals(FNSR01Stock foodFactStock,
                                         XElement foodStockCalcElement)
 {
     ////these have already been adjusted by input multipliers (ocamount, times)
     foodFactStock.TotalOC = foodFactStock.TotalServingCost;
     CalculatorHelpers.SetAttributeDoubleF2(foodStockCalcElement,
                                            CostBenefitCalculator.TOC, foodFactStock.TotalOC);
 }
Ejemplo n.º 2
0
 public virtual void CopyTotalFNSR01StockProperties(
     FNSR01Stock calculator)
 {
     this.TotalMarketValue = calculator.TotalMarketValue;
     this.TotalContainerSizeUsingServingSizeUnit = calculator.TotalContainerSizeUsingServingSizeUnit;
     this.TotalServingCost                 = calculator.TotalServingCost;
     this.TotalActualServingSize           = calculator.TotalActualServingSize;
     this.TotalTypicalServingsPerContainer = calculator.TotalTypicalServingsPerContainer;
     this.TotalActualServingsPerContainer  = calculator.TotalActualServingsPerContainer;
     this.TotalTypicalServingSize          = calculator.TotalTypicalServingSize;
     this.TotalWater_g        = calculator.TotalWater_g;
     this.TotalEnerg_Kcal     = calculator.TotalEnerg_Kcal;
     this.TotalProtein_g      = calculator.TotalProtein_g;
     this.TotalLipid_Tot_g    = calculator.TotalLipid_Tot_g;
     this.TotalAsh_g          = calculator.TotalAsh_g;
     this.TotalCarbohydrt_g   = calculator.TotalCarbohydrt_g;
     this.TotalFiber_TD_g     = calculator.TotalFiber_TD_g;
     this.TotalSugar_Tot_g    = calculator.TotalSugar_Tot_g;
     this.TotalCalcium_mg     = calculator.TotalCalcium_mg;
     this.TotalIron_mg        = calculator.TotalIron_mg;
     this.TotalMagnesium_mg   = calculator.TotalMagnesium_mg;
     this.TotalPhosphorus_mg  = calculator.TotalPhosphorus_mg;
     this.TotalPotassium_mg   = calculator.TotalPotassium_mg;
     this.TotalSodium_mg      = calculator.TotalSodium_mg;
     this.TotalZinc_mg        = calculator.TotalZinc_mg;
     this.TotalCopper_mg      = calculator.TotalCopper_mg;
     this.TotalManganese_mg   = calculator.TotalManganese_mg;
     this.TotalSelenium_pg    = calculator.TotalSelenium_pg;
     this.TotalVit_C_mg       = calculator.TotalVit_C_mg;
     this.TotalThiamin_mg     = calculator.TotalThiamin_mg;
     this.TotalRiboflavin_mg  = calculator.TotalRiboflavin_mg;
     this.TotalNiacin_mg      = calculator.TotalNiacin_mg;
     this.TotalPanto_Acid_mg  = calculator.TotalPanto_Acid_mg;
     this.TotalVit_B6_mg      = calculator.TotalVit_B6_mg;
     this.TotalFolate_Tot_pg  = calculator.TotalFolate_Tot_pg;
     this.TotalFolic_Acid_pg  = calculator.TotalFolic_Acid_pg;
     this.TotalFood_Folate_pg = calculator.TotalFood_Folate_pg;
     this.TotalFolate_DFE_pg  = calculator.TotalFolate_DFE_pg;
     this.TotalCholine_Tot_mg = calculator.TotalCholine_Tot_mg;
     this.TotalVit_B12_pg     = calculator.TotalVit_B12_pg;
     this.TotalVit_A_IU       = calculator.TotalVit_A_IU;
     this.TotalVit_A_RAE      = calculator.TotalVit_A_RAE;
     this.TotalRetinol_pg     = calculator.TotalRetinol_pg;
     this.TotalAlpha_Carot_pg = calculator.TotalAlpha_Carot_pg;
     this.TotalBeta_Carot_pg  = calculator.TotalBeta_Carot_pg;
     this.TotalBeta_Crypt_pg  = calculator.TotalBeta_Crypt_pg;
     this.TotalLycopene_pg    = calculator.TotalLycopene_pg;
     this.TotalLut_Zea_pg     = calculator.TotalLut_Zea_pg;
     this.TotalVit_E_mg       = calculator.TotalVit_E_mg;
     this.TotalVit_D_pg       = calculator.TotalVit_D_pg;
     this.TotalViVit_D_IU     = calculator.TotalViVit_D_IU;
     this.TotalVit_K_pg       = calculator.TotalVit_K_pg;
     this.TotalFA_Sat_g       = calculator.TotalFA_Sat_g;
     this.TotalFA_Mono_g      = calculator.TotalFA_Mono_g;
     this.TotalFA_Poly_g      = calculator.TotalFA_Poly_g;
     this.TotalCholestrl_mg   = calculator.TotalCholestrl_mg;
 }
Ejemplo n.º 3
0
        //add a foodfact to the baseStat.FoodNutritionStocks dictionary
        public static bool AddFNSR01StocksToDictionary(this FNSR01Stock baseStat,
                                                       int filePosition, int nodePosition, FNSR01Calculator foodStock)
        {
            bool bIsAdded = false;

            if (filePosition < 0 || nodePosition < 0)
            {
                baseStat.ErrorMessage
                    = Errors.MakeStandardErrorMsg("ANALYSES_INDEX_OUTOFBOUNDS");
                return(false);
            }
            if (baseStat.FoodNutritionStocks == null)
            {
                baseStat.FoodNutritionStocks
                    = new Dictionary <int, List <FNSR01Calculator> >();
            }
            if (baseStat.FoodNutritionStocks.ContainsKey(filePosition))
            {
                if (baseStat.FoodNutritionStocks[filePosition] != null)
                {
                    for (int i = 0; i <= nodePosition; i++)
                    {
                        if (baseStat.FoodNutritionStocks[filePosition].Count <= i)
                        {
                            baseStat.FoodNutritionStocks[filePosition]
                            .Add(new FNSR01Calculator());
                        }
                    }
                    baseStat.FoodNutritionStocks[filePosition][nodePosition]
                             = foodStock;
                    bIsAdded = true;
                }
            }
            else
            {
                //add the missing dictionary entry
                List <FNSR01Calculator> baseStats
                    = new List <FNSR01Calculator>();
                KeyValuePair <int, List <FNSR01Calculator> > newStat
                    = new KeyValuePair <int, List <FNSR01Calculator> >(
                          filePosition, baseStats);
                baseStat.FoodNutritionStocks.Add(newStat);
                bIsAdded = AddFNSR01StocksToDictionary(baseStat,
                                                       filePosition, nodePosition, foodStock);
            }
            return(bIsAdded);
        }
Ejemplo n.º 4
0
        public static int GetNodePositionCount(this FNSR01Stock baseStat,
                                               int filePosition, FNSR01Calculator foodStock)
        {
            int iNodeCount = 0;

            if (baseStat.FoodNutritionStocks == null)
            {
                return(iNodeCount);
            }
            if (baseStat.FoodNutritionStocks.ContainsKey(filePosition))
            {
                if (baseStat.FoodNutritionStocks[filePosition] != null)
                {
                    iNodeCount = baseStat.FoodNutritionStocks[filePosition].Count;
                }
            }
            return(iNodeCount);
        }
        public static bool AddFNSR01StockToStock(FNSR01Stock totalsFN1Stock,
                                                 double multiplier, FNSR01Stock currentFN1Stock)
        {
            bool bHasCalculations = false;

            //multipliers (input.times, out.compositionamount, oc.amount, tp.amount)
            //don't change per hour food nutrition costs, only total costs
            totalsFN1Stock.TotalMarketValue += currentFN1Stock.TotalMarketValue;
            totalsFN1Stock.TotalContainerSizeUsingServingSizeUnit += currentFN1Stock.TotalContainerSizeUsingServingSizeUnit;
            totalsFN1Stock.TotalServingCost                 += currentFN1Stock.TotalServingCost;
            totalsFN1Stock.TotalActualServingSize           += currentFN1Stock.TotalActualServingSize;
            totalsFN1Stock.TotalTypicalServingsPerContainer += currentFN1Stock.TotalTypicalServingsPerContainer;
            totalsFN1Stock.TotalActualServingsPerContainer  += currentFN1Stock.TotalActualServingsPerContainer;
            totalsFN1Stock.TotalTypicalServingSize          += currentFN1Stock.TotalTypicalServingSize;
            totalsFN1Stock.TotalWater_g        += currentFN1Stock.TotalWater_g;
            totalsFN1Stock.TotalEnerg_Kcal     += currentFN1Stock.TotalEnerg_Kcal;
            totalsFN1Stock.TotalProtein_g      += currentFN1Stock.TotalProtein_g;
            totalsFN1Stock.TotalLipid_Tot_g    += currentFN1Stock.TotalLipid_Tot_g;
            totalsFN1Stock.TotalAsh_g          += currentFN1Stock.TotalAsh_g;
            totalsFN1Stock.TotalCarbohydrt_g   += currentFN1Stock.TotalCarbohydrt_g;
            totalsFN1Stock.TotalFiber_TD_g     += currentFN1Stock.TotalFiber_TD_g;
            totalsFN1Stock.TotalSugar_Tot_g    += currentFN1Stock.TotalSugar_Tot_g;
            totalsFN1Stock.TotalCalcium_mg     += currentFN1Stock.TotalCalcium_mg;
            totalsFN1Stock.TotalIron_mg        += currentFN1Stock.TotalIron_mg;
            totalsFN1Stock.TotalMagnesium_mg   += currentFN1Stock.TotalMagnesium_mg;
            totalsFN1Stock.TotalPhosphorus_mg  += currentFN1Stock.TotalPhosphorus_mg;
            totalsFN1Stock.TotalPotassium_mg   += currentFN1Stock.TotalPotassium_mg;
            totalsFN1Stock.TotalSodium_mg      += currentFN1Stock.TotalSodium_mg;
            totalsFN1Stock.TotalZinc_mg        += currentFN1Stock.TotalZinc_mg;
            totalsFN1Stock.TotalCopper_mg      += currentFN1Stock.TotalCopper_mg;
            totalsFN1Stock.TotalManganese_mg   += currentFN1Stock.TotalManganese_mg;
            totalsFN1Stock.TotalSelenium_pg    += currentFN1Stock.TotalSelenium_pg;
            totalsFN1Stock.TotalVit_C_mg       += currentFN1Stock.TotalVit_C_mg;
            totalsFN1Stock.TotalThiamin_mg     += currentFN1Stock.TotalThiamin_mg;
            totalsFN1Stock.TotalRiboflavin_mg  += currentFN1Stock.TotalRiboflavin_mg;
            totalsFN1Stock.TotalNiacin_mg      += currentFN1Stock.TotalNiacin_mg;
            totalsFN1Stock.TotalPanto_Acid_mg  += currentFN1Stock.TotalPanto_Acid_mg;
            totalsFN1Stock.TotalVit_B6_mg      += currentFN1Stock.TotalVit_B6_mg;
            totalsFN1Stock.TotalFolate_Tot_pg  += currentFN1Stock.TotalFolate_Tot_pg;
            totalsFN1Stock.TotalFolic_Acid_pg  += currentFN1Stock.TotalFolic_Acid_pg;
            totalsFN1Stock.TotalFood_Folate_pg += currentFN1Stock.TotalFood_Folate_pg;
            totalsFN1Stock.TotalFolate_DFE_pg  += currentFN1Stock.TotalFolate_DFE_pg;
            totalsFN1Stock.TotalCholine_Tot_mg += currentFN1Stock.TotalCholine_Tot_mg;
            totalsFN1Stock.TotalVit_B12_pg     += currentFN1Stock.TotalVit_B12_pg;
            totalsFN1Stock.TotalVit_A_IU       += currentFN1Stock.TotalVit_A_IU;
            totalsFN1Stock.TotalVit_A_RAE      += currentFN1Stock.TotalVit_A_RAE;
            totalsFN1Stock.TotalRetinol_pg     += currentFN1Stock.TotalRetinol_pg;
            totalsFN1Stock.TotalAlpha_Carot_pg += currentFN1Stock.TotalAlpha_Carot_pg;
            totalsFN1Stock.TotalBeta_Carot_pg  += currentFN1Stock.TotalBeta_Carot_pg;
            totalsFN1Stock.TotalBeta_Crypt_pg  += currentFN1Stock.TotalBeta_Crypt_pg;
            totalsFN1Stock.TotalLycopene_pg    += currentFN1Stock.TotalLycopene_pg;
            totalsFN1Stock.TotalLut_Zea_pg     += currentFN1Stock.TotalLut_Zea_pg;
            totalsFN1Stock.TotalVit_E_mg       += currentFN1Stock.TotalVit_E_mg;
            totalsFN1Stock.TotalVit_D_pg       += currentFN1Stock.TotalVit_D_pg;
            totalsFN1Stock.TotalViVit_D_IU     += currentFN1Stock.TotalViVit_D_IU;
            totalsFN1Stock.TotalVit_K_pg       += currentFN1Stock.TotalVit_K_pg;
            totalsFN1Stock.TotalFA_Sat_g       += currentFN1Stock.TotalFA_Sat_g;
            totalsFN1Stock.TotalFA_Mono_g      += currentFN1Stock.TotalFA_Mono_g;
            totalsFN1Stock.TotalFA_Poly_g      += currentFN1Stock.TotalFA_Poly_g;
            totalsFN1Stock.TotalCholestrl_mg   += currentFN1Stock.TotalCholestrl_mg;
            bHasCalculations = true;
            return(bHasCalculations);
        }
        public static bool AddFNInputToStock(FNSR01Stock foodStock, double multiplier,
                                             FNSR01Calculator foodNutritionInput, string currentNodeName, bool adjustTotals)
        {
            bool bHasCalculations = false;

            //inheriting classes usually run this class, but adjust their own totals
            if (adjustTotals)
            {
                //multipliers (input.times, out.compositionamount, oc.amount, tp.amount)
                //don't change per hour food nutrition costs, only total costs
                if (currentNodeName.EndsWith(Input.INPUT_PRICE_TYPES.input.ToString()))
                {
                    //i.e. foodNutritionInput.cost = foodNutritionInput.cost * multiplier * input.ocamount
                    //multiplier = input.times * oc.amount * tp.amount
                    ChangeFNInputByInputMultipliers(foodNutritionInput, multiplier);
                }
                else
                {
                    //i.e. foodNutritionInput.cost = foodNutritionInput.cost * multiplier (1 in stock analyzers)
                    ChangeFNInputByMultiplier(foodNutritionInput, multiplier);
                }
            }
            foodStock.TotalMarketValue += foodNutritionInput.MarketValue;
            foodStock.TotalContainerSizeUsingServingSizeUnit += foodNutritionInput.ContainerSizeUsingServingSizeUnit;
            foodStock.TotalServingCost                 += foodNutritionInput.ServingCost;
            foodStock.TotalActualServingSize           += foodNutritionInput.ActualServingSize;
            foodStock.TotalTypicalServingsPerContainer += foodNutritionInput.TypicalServingsPerContainer;
            foodStock.TotalActualServingsPerContainer  += foodNutritionInput.ActualServingsPerContainer;
            foodStock.TotalTypicalServingSize          += foodNutritionInput.TypicalServingSize;
            foodStock.TotalWater_g        += foodNutritionInput.ActualWater_g;
            foodStock.TotalEnerg_Kcal     += foodNutritionInput.ActualEnerg_Kcal;
            foodStock.TotalProtein_g      += foodNutritionInput.ActualProtein_g;
            foodStock.TotalLipid_Tot_g    += foodNutritionInput.ActualLipid_Tot_g;
            foodStock.TotalAsh_g          += foodNutritionInput.ActualAsh_g;
            foodStock.TotalCarbohydrt_g   += foodNutritionInput.ActualCarbohydrt_g;
            foodStock.TotalFiber_TD_g     += foodNutritionInput.ActualFiber_TD_g;
            foodStock.TotalSugar_Tot_g    += foodNutritionInput.ActualSugar_Tot_g;
            foodStock.TotalCalcium_mg     += foodNutritionInput.ActualCalcium_mg;
            foodStock.TotalIron_mg        += foodNutritionInput.ActualIron_mg;
            foodStock.TotalMagnesium_mg   += foodNutritionInput.ActualMagnesium_mg;
            foodStock.TotalPhosphorus_mg  += foodNutritionInput.ActualPhosphorus_mg;
            foodStock.TotalPotassium_mg   += foodNutritionInput.ActualPotassium_mg;
            foodStock.TotalSodium_mg      += foodNutritionInput.ActualSodium_mg;
            foodStock.TotalZinc_mg        += foodNutritionInput.ActualZinc_mg;
            foodStock.TotalCopper_mg      += foodNutritionInput.ActualCopper_mg;
            foodStock.TotalManganese_mg   += foodNutritionInput.ActualManganese_mg;
            foodStock.TotalSelenium_pg    += foodNutritionInput.ActualSelenium_pg;
            foodStock.TotalVit_C_mg       += foodNutritionInput.ActualVit_C_mg;
            foodStock.TotalThiamin_mg     += foodNutritionInput.ActualThiamin_mg;
            foodStock.TotalRiboflavin_mg  += foodNutritionInput.ActualRiboflavin_mg;
            foodStock.TotalNiacin_mg      += foodNutritionInput.ActualNiacin_mg;
            foodStock.TotalPanto_Acid_mg  += foodNutritionInput.ActualPanto_Acid_mg;
            foodStock.TotalVit_B6_mg      += foodNutritionInput.ActualVit_B6_mg;
            foodStock.TotalFolate_Tot_pg  += foodNutritionInput.ActualFolate_Tot_pg;
            foodStock.TotalFolic_Acid_pg  += foodNutritionInput.ActualFolic_Acid_pg;
            foodStock.TotalFood_Folate_pg += foodNutritionInput.ActualFood_Folate_pg;
            foodStock.TotalFolate_DFE_pg  += foodNutritionInput.ActualFolate_DFE_pg;
            foodStock.TotalCholine_Tot_mg += foodNutritionInput.ActualCholine_Tot_mg;
            foodStock.TotalVit_B12_pg     += foodNutritionInput.ActualVit_B12_pg;
            foodStock.TotalVit_A_IU       += foodNutritionInput.ActualVit_A_IU;
            foodStock.TotalVit_A_RAE      += foodNutritionInput.ActualVit_A_RAE;
            foodStock.TotalRetinol_pg     += foodNutritionInput.ActualRetinol_pg;
            foodStock.TotalAlpha_Carot_pg += foodNutritionInput.ActualAlpha_Carot_pg;
            foodStock.TotalBeta_Carot_pg  += foodNutritionInput.ActualBeta_Carot_pg;
            foodStock.TotalBeta_Crypt_pg  += foodNutritionInput.ActualBeta_Crypt_pg;
            foodStock.TotalLycopene_pg    += foodNutritionInput.ActualLycopene_pg;
            foodStock.TotalLut_Zea_pg     += foodNutritionInput.ActualLut_Zea_pg;
            foodStock.TotalVit_E_mg       += foodNutritionInput.ActualVit_E_mg;
            foodStock.TotalVit_D_pg       += foodNutritionInput.ActualVit_D_pg;
            foodStock.TotalViVit_D_IU     += foodNutritionInput.ActualViVit_D_IU;
            foodStock.TotalVit_K_pg       += foodNutritionInput.ActualVit_K_pg;
            foodStock.TotalFA_Sat_g       += foodNutritionInput.ActualFA_Sat_g;
            foodStock.TotalFA_Mono_g      += foodNutritionInput.ActualFA_Mono_g;
            foodStock.TotalFA_Poly_g      += foodNutritionInput.ActualFA_Poly_g;
            foodStock.TotalCholestrl_mg   += foodNutritionInput.ActualCholestrl_mg;
            bHasCalculations = true;
            return(bHasCalculations);
        }
Ejemplo n.º 7
0
 //copy constructor
 public FNSR01Stock(FNSR01Stock calculator)
     : base(calculator)
 {
     CopyTotalFNSR01StockProperties(calculator);
 }