Example #1
0
 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;
 }
Example #2
0
        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);
            }
        }