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); }
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; }
//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); }
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); }
//copy constructor public FNSR01Stock(FNSR01Stock calculator) : base(calculator) { CopyTotalFNSR01StockProperties(calculator); }