12345678910111213141516171819202122232425262728293031 |
- using System;
- using Wayne.Lib;
- namespace Wayne.ForecourtControl.Fusion
- {
- public class FUSIONForecourtControlFactory : IForecourtControlFactory
- {
- private readonly Func<int, IPumpAuthorizationIdGenerator> authorizationIdGeneratorFactory;
- public FUSIONForecourtControlFactory(Func<int,IPumpAuthorizationIdGenerator> authorizationIdGeneratorFactory)
- {
- this.authorizationIdGeneratorFactory = authorizationIdGeneratorFactory;
- }
- public IForecourtControl CreateForecourtControl(int deviceId, IServiceLocator serviceLocator)
- {
- IForecourtConfiguration forecourtConfiguration;
- try
- {
- forecourtConfiguration = serviceLocator.GetService<IForecourtConfiguration>();
- }
- catch (ServiceContainerException)
- {
- return FUSIONFactory.CreateForecourtControl(deviceId, authorizationIdGeneratorFactory(deviceId));
- }
- return FUSIONFactory.CreateForecourtControl(deviceId, forecourtConfiguration, authorizationIdGeneratorFactory(deviceId));
- }
-
- }
- }
|