public static bool AddMachineryInputToStock(IrrPower1Stock machStock, double multiplier, IrrigationPower1Input machinput, string currentNodeName) { bool bHasCalculations = false; bool bAdjustTotals = false; //eliminate double counting before using this //add the base totals (fuelamount, fuelcost ...) BIMachineryStockCalculator.AddMachineryInputToStock(machStock, multiplier, machinput, currentNodeName, bAdjustTotals); //multipliers (input.times, out.compositionamount, oc.amount, tp.amount) //don't change per hour machinery costs, only total costs if (currentNodeName.EndsWith(Input.INPUT_PRICE_TYPES.input.ToString())) { //i.e. machinput.cost = machinput.cost * multiplier * input.ocamount //multiplier = input.times * oc.amount * tp.amount ChangeMachineryInputByInputMultipliers(machinput, multiplier); } else { //i.e. machinput.cost = machinput.cost * multiplier (1 in stock analyzers) ChangeMachineryInputByMultiplier(machinput, multiplier); } //add the totals for the irrpower stock machStock.TotalEngineEfficiency += machinput.EngineEfficiency; machStock.TotalFuelConsumptionPerHour += machinput.FuelConsumptionPerHour; machStock.TotalWaterHP += machinput.WaterHP; machStock.TotalBrakeHP += machinput.BrakeHP; machStock.TotalFlowRate += machinput.FlowRate; machStock.TotalStaticHead += machinput.StaticHead; machStock.TotalPressureHead += machinput.PressureHead; machStock.TotalFrictionHead += machinput.FrictionHead; machStock.TotalOtherHead += machinput.OtherHead; machStock.TotalPumpEfficiency += machinput.PumpEfficiency; machStock.TotalGearDriveEfficiency += machinput.GearDriveEfficiency; machStock.TotalExtraPower1 += machinput.ExtraPower1; machStock.TotalExtraPower2 += machinput.ExtraPower2; machStock.TotalEnergyExtraCostPerNetAcOrHa += machinput.EnergyExtraCostPerNetAcOrHa; machStock.TotalEnergyExtraCost += machinput.EnergyExtraCost; machStock.TotalPumpCapacity += machinput.PumpCapacity; machStock.TotalEngineFlywheelPower += machinput.EngineFlywheelPower; machStock.TotalFuelAmountRequired += machinput.FuelAmountRequired; machStock.TotalPumpingPlantPerformance += machinput.PumpingPlantPerformance; machStock.TotalSeasonWaterNeed += machinput.SeasonWaterNeed; machStock.TotalSeasonWaterExtraCredit += machinput.SeasonWaterExtraCredit; machStock.TotalSeasonWaterExtraDebit += machinput.SeasonWaterExtraDebit; machStock.TotalWaterPrice += machinput.WaterPrice; machStock.TotalDistributionUniformity += machinput.DistributionUniformity; machStock.TotalSeasonWaterApplied += machinput.SeasonWaterApplied; machStock.TotalWaterCost += machinput.WaterCost; machStock.TotalPumpHoursPerUnitArea += machinput.PumpHoursPerUnitArea; machStock.TotalIrrigationTimes += machinput.IrrigationTimes; machStock.TotalIrrigationDurationPerSet += machinput.IrrigationDurationPerSet; machStock.TotalIrrigationDurationLaborHoursPerSet += machinput.IrrigationDurationLaborHoursPerSet; machStock.TotalIrrigationNetArea += machinput.IrrigationNetArea; machStock.TotalEquipmentLaborAmount += machinput.EquipmentLaborAmount; machStock.TotalEquipmentLaborCost += machinput.EquipmentLaborCost; machStock.TotalRepairCostsPerNetAcOrHa += machinput.RepairCostsPerNetAcOrHa; machStock.TotalRandMPercent += machinput.RandMPercent; bHasCalculations = true; return(bHasCalculations); }
public bool AddMachineryInputToStock(double multiplier, IrrigationPower1Input machinput, string currentNodeName) { bool bHasCalculations = false; //add the base machinput properties bool bAdjustTotals = false; bHasCalculations = BIMachineryStockCalculator .AddMachineryInputToStock(this.IrrPowerStock, multiplier, machinput, currentNodeName, bAdjustTotals); //multipliers (input.times, input.ocamount, out.compositionamount, oc.amount, tp.amount) //are not used with per hourly costs, but are used with total op and aoh costs (fuelcost, capitalrecovery) if (currentNodeName.EndsWith(Input.INPUT_PRICE_TYPES.input.ToString())) { //i.e. machinput.cost = input.times * input.ocamount ChangeMachineryInputByInputMultipliers(machinput, multiplier); } else { //i.e. budget adjustment = if operation multiplier = op.amount, //if timeperiod multiplier = tp.amount) ChangeMachineryInputByMultiplier(machinput, multiplier); } this.IrrPowerStock.TotalEngineEfficiency += machinput.EngineEfficiency; this.IrrPowerStock.TotalFuelConsumptionPerHour += machinput.FuelConsumptionPerHour; this.IrrPowerStock.TotalWaterHP += machinput.WaterHP; this.IrrPowerStock.TotalBrakeHP += machinput.BrakeHP; this.IrrPowerStock.TotalFlowRate += machinput.FlowRate; this.IrrPowerStock.TotalStaticHead += machinput.StaticHead; this.IrrPowerStock.TotalPressureHead += machinput.PressureHead; this.IrrPowerStock.TotalFrictionHead += machinput.FrictionHead; this.IrrPowerStock.TotalOtherHead += machinput.OtherHead; this.IrrPowerStock.TotalPumpEfficiency += machinput.PumpEfficiency; this.IrrPowerStock.TotalGearDriveEfficiency += machinput.GearDriveEfficiency; this.IrrPowerStock.TotalExtraPower1 += machinput.ExtraPower1; this.IrrPowerStock.TotalExtraPower2 += machinput.ExtraPower2; this.IrrPowerStock.TotalEnergyExtraCostPerNetAcOrHa += machinput.EnergyExtraCostPerNetAcOrHa; this.IrrPowerStock.TotalEnergyExtraCost += machinput.EnergyExtraCost; this.IrrPowerStock.TotalPumpCapacity += machinput.PumpCapacity; this.IrrPowerStock.TotalEngineFlywheelPower += machinput.EngineFlywheelPower; this.IrrPowerStock.TotalFuelAmountRequired += machinput.FuelAmountRequired; this.IrrPowerStock.TotalPumpingPlantPerformance += machinput.PumpingPlantPerformance; this.IrrPowerStock.TotalSeasonWaterNeed += machinput.SeasonWaterNeed; this.IrrPowerStock.TotalSeasonWaterExtraCredit += machinput.SeasonWaterExtraCredit; this.IrrPowerStock.TotalSeasonWaterExtraDebit += machinput.SeasonWaterExtraDebit; this.IrrPowerStock.TotalWaterPrice += machinput.WaterPrice; this.IrrPowerStock.TotalDistributionUniformity += machinput.DistributionUniformity; this.IrrPowerStock.TotalSeasonWaterApplied += machinput.SeasonWaterApplied; this.IrrPowerStock.TotalWaterCost += machinput.WaterCost; this.IrrPowerStock.TotalPumpHoursPerUnitArea += machinput.PumpHoursPerUnitArea; this.IrrPowerStock.TotalIrrigationTimes += machinput.IrrigationTimes; this.IrrPowerStock.TotalIrrigationDurationPerSet += machinput.IrrigationDurationPerSet; this.IrrPowerStock.TotalIrrigationDurationLaborHoursPerSet += machinput.IrrigationDurationLaborHoursPerSet; this.IrrPowerStock.TotalIrrigationNetArea += machinput.IrrigationNetArea; this.IrrPowerStock.TotalEquipmentLaborAmount += machinput.EquipmentLaborAmount; this.IrrPowerStock.TotalEquipmentLaborCost += machinput.EquipmentLaborCost; this.IrrPowerStock.TotalRepairCostsPerNetAcOrHa += machinput.RepairCostsPerNetAcOrHa; this.IrrPowerStock.TotalRandMPercent += machinput.RandMPercent; bHasCalculations = true; return(bHasCalculations); }