public ParkingCalculatorFactory(ParkingAppContext context) { foreach (var rate in context.FlatParkingRates) { _parkingRules.Add(new FlatRateCondition(rate.EntryTimeStart, rate.EntryTimeEnd, rate.ExitTimeStart, rate.ExitTimeEnd), new FlatRateParkingChargeCalculator(rate.Description, rate.Charge)); } HourlyChargeRates hourlyRates = new HourlyChargeRates(); foreach (var rate in context.HourlyRates) { hourlyRates.Add(rate.HourLimit, rate.Charge); } _parkingRules.Add( new HourlyRateCondition(hourlyRates), new HourlyRateParkingChargeCalculator("Hourly Rate", hourlyRates)); _parkingRules.Add( new DailyRateCondition(), new DailyRateParkingChargeCalculator("Daily Rate", context.DailyRates.First().Charge)); }
public HourlyRateParkingChargeCalculator(string friendlyName, HourlyChargeRates hourlyRates) : base(friendlyName) { _hourlyRates = hourlyRates; }
/// <summary> /// Constructor /// </summary> /// <param name="hourlyRates">Hourly rates must be supplied</param> public HourlyRateCondition(HourlyChargeRates hourlyRates) { HourlyRates = hourlyRates; }