public void Charge(IPayingCustomer customer) { switch(PriceCode) { case MovieRentalPriceCode.Regular: { var rentalCostPerDay = 2; var allowedRentalPeriod = 2; if (DaysRented > allowedRentalPeriod) { var lateRentalDays = DaysRented - allowedRentalPeriod; var lateRentalPercentageIncrease = 1.5; var totalRentalFeeIncludingLateFee = allowedRentalPeriod*rentalCostPerDay + lateRentalDays*rentalCostPerDay* lateRentalPercentageIncrease; customer.Charge(totalRentalFeeIncludingLateFee); } else { var totalRentalFee = DaysRented*rentalCostPerDay; customer.Charge(totalRentalFee); } break; } case MovieRentalPriceCode.NewRelease: { var rentalCostPerDay = 3; var totalRentalFee = rentalCostPerDay*DaysRented; customer.Charge(totalRentalFee); break; } case MovieRentalPriceCode.Childrens: { var rentalCostPerDay = 1.5; var allowedRentalPeriod = 3; if(DaysRented > allowedRentalPeriod) { var daysLate = DaysRented - allowedRentalPeriod; customer.Charge(rentalCostPerDay * allowedRentalPeriod + daysLate * rentalCostPerDay * 1.5); } else { var totalRentalFee = rentalCostPerDay * DaysRented; customer.Charge(totalRentalFee); } break; } } }
public void Charge(IPayingCustomer customer, int daysRented) { var rentalCostPerDay = 1.5; var allowedRentalPeriod = 3; if (daysRented > allowedRentalPeriod) { var daysLate = daysRented - allowedRentalPeriod; customer.Charge(rentalCostPerDay * allowedRentalPeriod + daysLate * rentalCostPerDay * 1.5); } else { var totalRentalFee = rentalCostPerDay * daysRented; customer.Charge(totalRentalFee); } }
public void Charge(IPayingCustomer customer, int daysRented) { var rentalCostPerDay = 2; var allowedRentalPeriod = 2; if (daysRented > allowedRentalPeriod) { var lateRentalDays = daysRented - allowedRentalPeriod; var lateRentalPercentageIncrease = 1.5; var totalRentalFeeIncludingLateFee = allowedRentalPeriod * rentalCostPerDay + lateRentalDays * rentalCostPerDay * lateRentalPercentageIncrease; customer.Charge(totalRentalFeeIncludingLateFee); } else { var totalRentalFee = daysRented * rentalCostPerDay; customer.Charge(totalRentalFee); } }
public void Charge(IPayingCustomer customer, int daysRented) { var rentalCostPerDay = 3; var totalRentalFee = rentalCostPerDay * daysRented; customer.Charge(totalRentalFee); }