Esempio n. 1
0
        public IVehicleServiceProvider GetServiceProvider(OrderType orderType)
        {
            IVehicleServiceProvider provider          = null;
            IVehicleRepository      vehicleRepository = new VehicleRepository();

            switch (orderType)
            {
            case OrderType.Buy:
                provider = new PurchaseServiceProvider(vehicleRepository);
                break;

            case OrderType.Rent:
                provider = new RentServiceProvider(vehicleRepository);
                break;

            case OrderType.TestDrive:
                provider = new TestDriveServiceProvider(vehicleRepository);
                break;

            case OrderType.Maintainance:
                provider = new MaintainanceServiceProvider(vehicleRepository);
                break;

            default:
                throw new InvalidOrderException(Constants.ErrorMessage.InvalidOrder);
            }
            return(provider);
        }
Esempio n. 2
0
 public OrderResponse Order(OrderRequest orderRequest)
 {
     _serviceProvider = new ServiceFactory().GetServiceProvider(orderRequest.OrderType);
     return(_serviceProvider.DoService(orderRequest));
 }