public ShortStayParkingStrategy(int startHours, int startMinutes, int endHours, int endMinutes, double charge, ChargingUnit chargingUnit, IParkingIntervalCalculator parkingIntervalCalculator) { Unit = chargingUnit; ChargePerUnit = charge; ChargingPeriodStartHours = startHours; ChargingPeriodStartMinutes = startMinutes; ChargingPeriodEndHours = endHours; ChargingPeriodEndMinutes = endMinutes; _parkingIntervalCalculator = parkingIntervalCalculator; }
public static IParkingStrategy Create(ParkingStrategyType strategyType, int startHours, int startMinutes, int endHours, int endMinutes, double charge, ChargingUnit chargingUnit, IParkingIntervalCalculator parkingIntervalCalculator) { switch (strategyType) { case ParkingStrategyType.LongStay: return(new LongStayParkingStrategy(startHours, startMinutes, endHours, endMinutes, charge, chargingUnit, parkingIntervalCalculator)); case ParkingStrategyType.ShortStay: return(new ShortStayParkingStrategy(startHours, startMinutes, endHours, endMinutes, charge, chargingUnit, parkingIntervalCalculator)); default: return(null); } }