public static void AddServices(this IServiceCollection services, ServiceParameters serviceParameters, IHostingEnvironment env) { services.AddSingleton(serviceParameters); services.AddScoped <NonEoiNotPermittedFilterAttribute>(); services.AddScoped <LevyNotPermittedFilter>(); services.AddScoped <IProviderPermissionsService, ProviderPermissionsService>(); services.AddScoped <IExternalUrlHelper, ExternalUrlHelper>(); services.AddSingleton <IApiClient, ApiClient>(); services.AddSingleton <IEncodingService, EncodingService>(); services.AddSingleton <IProviderService, ProviderService>(); services.AddTransient <ITrainingDateService, TrainingDateService>(); services.AddTransient <ICourseService, CourseService>(); services.AddTransient <IReservationService, ReservationService>(); services.AddTransient <ICacheStorageService, CacheStorageService>(); services.AddTransient <IFundingRulesService, FundingRulesService>(); services.AddTransient <IReservationAuthorisationService, ReservationAuthorisationService>(); services.AddTransient <ICachedReservationRespository, CachedReservationRepository>(); }