Ejemplo n.º 1
0
 public EventfulHttpClient(HttpClient httpClient, ILogger <EventfulHttpClient> logger, EventfulSettings settings, ITimeService timeService)
 {
     _httpClient             = httpClient;
     _httpClient.BaseAddress = new Uri(settings.BaseUrl);
     _logger      = logger;
     _settings    = settings;
     _timeService = timeService;
 }
        public EventfulHttpClientTests()
        {
            _httpClient = new HttpClient();

            var configuration = ConfigurationInitializer.InitConfiguration();

            _settings = new EventfulSettings
            {
                BaseUrl = configuration["EventfulSettings:BaseUrl"],
                ApiKey  = configuration["EventfulSettings:ApiKey"]
            };
        }
Ejemplo n.º 3
0
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddMvc()
            .SetCompatibilityVersion(CompatibilityVersion.Version_2_1);

            var louisvilleDemographicsConnection = Configuration.GetConnectionString("LouisvilleDemographics");

            services.AddDbContext <LouisvilleDemographicsContext>(options => options.UseSqlServer(louisvilleDemographicsConnection));

            services.AddSwaggerGen(c =>
            {
                c.SwaggerDoc("v1", new Info {
                    Title = "The Ville Skill API", Version = "v1"
                });
            });

            var alexaSettings = new AlexaSettings();

            Configuration.Bind("AlexaSettings", alexaSettings);
            services.AddSingleton(alexaSettings);

            var pvaSettings = new PvaSettings();

            Configuration.Bind("PVASettings", pvaSettings);
            services.AddSingleton(pvaSettings);

            var sheriffSettings = new SheriffSettings();

            Configuration.Bind("SheriffSettings", sheriffSettings);
            services.AddSingleton(sheriffSettings);

            var eventfulSettings = new EventfulSettings();

            Configuration.Bind("EventfulSettings", eventfulSettings);
            services.AddSingleton(eventfulSettings);

            var cacheSettings = new CacheSettings();

            Configuration.Bind("CacheSettings", cacheSettings);
            services.AddSingleton(cacheSettings);

            var googleMapsSettings = new GoogleMapsSettings();

            Configuration.Bind("GoogleMapsSettings", googleMapsSettings);
            services.AddSingleton(googleMapsSettings);

            switch (cacheSettings.Type)
            {
            case CacheType.None:
                services.AddSingleton <IDistributedCache>(new NoCacheDistributedCache());
                break;

            case CacheType.InMemory:
                services.AddDistributedMemoryCache();
                break;
                //case CacheType.Redis:
                //    services.AddDistributedRedisCache(option =>
                //    {
                //        option.Configuration = cacheSettings.Redis;
                //        option.InstanceName = $"{_configuration["ApplicationName"]}:{_hostingEnvironment.EnvironmentName}:";
                //    });
                //    break;
            }
            services.AddSingleton <ICacheAdapter, CacheAdapter>();

            services.AddScoped <ISkillRequestHandler, SkillRequestHandler>();

            services.AddScoped <IAddressParser, AddressParser>();

            services.AddScoped <IPvaAddressLookup, PvaAddressLookup>();

            services.AddScoped <IAddressRepository, AddressRepository>();

            services.AddScoped <ITagRepository, TagRepository>();

            services.AddScoped <IZipCodeRepository, ZipCodeRepository>();

            services.AddHttpClient <IDeviceApiHttpClient, DeviceApiHttpClient>();

            services.AddHttpClient <IEventfulHttpClient, EventfulHttpClient>();

            services.AddSingleton <IMapImageUrlGenerator, MapImageUrlGenerator>();

            services.AddSingleton <ITimeService, TimeService>();

            services.AddScoped <IPhoneticAddressHelper, PhoneticAddressHelper>();
        }