Esempio n. 1
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            // Dependency Injection of AccuWeatherConfigurations (from appsetings.json)
            AccuWeatherConfigurations awConfigurations = Configuration.GetSection("AccuWeatherConfigurations").Get <AccuWeatherConfigurations>();

            // Dependency injection singletons:
            //  - AccuWeatherConfigurations (from appsetings.json)
            //  - API Helpers
            services.AddSingleton <AccuWeatherConfigurations>(awConfigurations);
            services.AddSingleton <LocationAPIHelper>();
            services.AddSingleton <CurrentConditionsAPIHelper>();
            services.AddSingleton <ForecastAPIHelper>();


            services.Configure <RequestLocalizationOptions>(opts =>
            {
                opts.DefaultRequestCulture = DefaultRequestCulture;
                // Formatting numbers, dates, etc.
                opts.SupportedCultures = SupportedCultures;
                // UI strings that we have localized.
                opts.SupportedUICultures = SupportedCultures;
                // Culture established by cookie
                opts.RequestCultureProviders = new IRequestCultureProvider[]
                {
                    new CookieRequestCultureProvider()
                    {
                        CookieName = CookieRequestCultureProvider.DefaultCookieName
                    }
                };
            });

            services.AddControllersWithViews();
        }
Esempio n. 2
0
        public BaseAPIHelper(AccuWeatherConfigurations accuWeatherConfigurations)
        {
            AccuWeatherConfigurations = accuWeatherConfigurations;

            LocalizedResourceManager = new System.Resources.ResourceManager("AccuWeather.Resources.ExceptionMessages", System.Reflection.Assembly.GetExecutingAssembly());

            ValidateConfiguration(AccuWeatherConfigurations.ApiKey, "ApiKeyNotInformed");
            ValidateConfiguration(AccuWeatherConfigurations.BaseUrl, "BaseUrlNotInformed");

            Client             = new HttpClient();
            Client.BaseAddress = new Uri(AccuWeatherConfigurations.BaseUrl.AddEndingSlash());
            Client.DefaultRequestHeaders.Accept.Clear();
            Client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
            APIKey = AccuWeatherConfigurations.ApiKey;
        }
Esempio n. 3
0
 public ForecastAPIHelper(AccuWeatherConfigurations accuWeatherConfigurations) : base(accuWeatherConfigurations)
 {
     ValidateConfiguration(accuWeatherConfigurations.CurrentConditionsAPI, "ForecastAPI");
     ValidateConfiguration(accuWeatherConfigurations.CurrentConditionsAPI.ConditionsNowUrl, "Next5DaysUrl");
 }
Esempio n. 4
0
 public CurrentConditionsAPIHelper(AccuWeatherConfigurations accuWeatherConfigurations) : base(accuWeatherConfigurations)
 {
     ValidateConfiguration(accuWeatherConfigurations.CurrentConditionsAPI, "CurrentConditionsAPI");
     ValidateConfiguration(accuWeatherConfigurations.CurrentConditionsAPI.ConditionsNowUrl, "ConditionsNowUrl");
 }
Esempio n. 5
0
 /// <summary>
 /// Child class from BaseAPIHelper, wrapping all the methods os AccuWeather Location API
 /// </summary>
 public LocationAPIHelper(AccuWeatherConfigurations accuWeatherConfigurations) : base(accuWeatherConfigurations)
 {
     ValidateConfiguration(accuWeatherConfigurations.LocationsAPI, "LocationsAPI");
     ValidateConfiguration(accuWeatherConfigurations.LocationsAPI.GeopositionSearchUrl, "GeopositionSearchUrl");
 }