public decimal GasDiscTotal(GasBill gasBill, Tariff tariff) { decimal totalValue = 0; List<decimal> tariffStr = tariff.ParseDiscString(tariff.GasDiscString); if (tariffStr.Count == 5) { if (gasBill.GasUsage >= tariffStr[0]) { totalValue += tariffStr[0] * tariffStr[2]; if (gasBill.GasUsage < tariffStr[1]) { totalValue += (gasBill.GasUsage - tariffStr[0]) * tariffStr[3]; } else { totalValue += ((tariffStr[1] - tariffStr[0]) * tariffStr[3]) + ((gasBill.GasUsage - tariffStr[1]) * tariffStr[4]); } } else { return gasBill.GasUsage * tariffStr[2]; } return totalValue; } return totalValue; }
public decimal ElectroDiscTotal(ElectroBill electroBill, Tariff tariff) { decimal totalValue = 0; List<decimal> tariffStr = tariff.ParseDiscString(tariff.ElectroDiscString); if (tariffStr.Count == 5) { if (electroBill.ElectroUsage >= tariffStr[0]) { totalValue += tariffStr[0] * tariffStr[2]; if (electroBill.ElectroUsage < tariffStr[1]) { totalValue += (electroBill.ElectroUsage - tariffStr[0]) * tariffStr[3]; } else { totalValue += ((tariffStr[1] - tariffStr[0]) * tariffStr[3]) + ((electroBill.ElectroUsage - tariffStr[1]) * tariffStr[4]); } } else { return electroBill.ElectroUsage * tariffStr[2]; } return totalValue; } return totalValue; }
public decimal WaterDiscTotal(WaterBill waterBill, Tariff tariff) { decimal totalValue = 0; List<decimal> tariffStr = tariff.ParseDiscString(tariff.WaterDiscString); if (tariffStr.Count == 5) { if (waterBill.WaterUsage >= tariffStr[0]) { totalValue += tariffStr[0] * tariffStr[2]; if (waterBill.WaterUsage < tariffStr[1]) { totalValue += (waterBill.WaterUsage - tariffStr[0]) * tariffStr[3]; } else { totalValue += ((tariffStr[1] - tariffStr[0]) * tariffStr[3]) + ((waterBill.WaterUsage - tariffStr[1]) * tariffStr[4]); } } else { return waterBill.WaterUsage * tariffStr[2]; } return totalValue; } return totalValue; }