public void GetTimeZoneAcronymFromValueTest()
        {
            var timezones = new AppSupportedTimeZones();

            Assert.Equal("GMT", timezones.GetTimeZoneAcronym("tz=GMT|dsa=yes"));
            Assert.Equal("CET", timezones.GetTimeZoneAcronym("tz=CET|dsa=yes"));
        }
Example #2
0
        private void InitialiseSettingsFromCookies()
        {
            var cookies = new MxCookies(_httpContextAccessor);

            SelectedCultureTab     = _supportedCultures.GetCultureTab(cookies.GetValue(MxSupportedCultures.CookieName));
            SelectedTimeZone       = _supportedTimeZones.GetTimeZoneAcronym(cookies.GetValue(MxSupportedTimeZones.CookieName));
            WithoutDaylightSavings = _supportedTimeZones.IsDaylightSavingAuto(cookies.GetValue(MxSupportedTimeZones.CookieName));
            SelectedTzDbName       = _supportedTimeZones.GetTzDbName(SelectedTimeZone);
        }
Example #3
0
        public IViewComponentResult Invoke()
        {
            string text;

            try
            {
                var cookies = new MxCookies(_httpContextAccessor);

                var value                 = cookies.GetValue(MxSupportedTimeZones.CookieName);
                var timeZoneAcronym       = _supportedTimeZones.GetTimeZoneAcronym(value);
                var withoutDaylightSaving = (!_supportedTimeZones.IsDaylightSavingAuto(value));
                if (withoutDaylightSaving)
                {
                    text = timeZoneAcronym;
                }
                else
                {
                    DateTimeZone zone = DateTimeZoneProviders.Tzdb[_supportedTimeZones.GetTzDbName(timeZoneAcronym)];
                    var          daylightSavingNow = zone.IsDaylightSavingsTime(SystemClock.Instance.GetCurrentInstant());
                    text = (daylightSavingNow) ? _supportedTimeZones.GetDaylightSavingAcronym(timeZoneAcronym) : timeZoneAcronym;
                }

                value = cookies.GetValue(MxSupportedCultures.CookieName);
                var culture   = _supportedCultures.GetCultureTab(value);
                var uiCulture = _supportedCultures.GetUiCultureTab(value);
                text += ",c=";
                text += culture;
                text += "|uic=";
                text += uiCulture;

                // Thread.CurrentThread.CurrentCulture = supportedCultures.GetCultureInfo(culture);
                // Thread.CurrentThread.CurrentUICulture = supportedCultures.GetCultureInfo(uiCulture);
            }
            catch (Exception e)
            {
                // ReSharper disable once RedundantAssignment
                text = e.Message;
                text = "[error]";
            }
            return(View("Default", text));
        }
        public void GetTimeZoneAcronymFromValueFailTest()
        {
            var timezones = new AppSupportedTimeZones();

            Assert.Equal("GMT", timezones.GetTimeZoneAcronym(null));
            Assert.Equal("GMT", timezones.GetTimeZoneAcronym(""));

            Assert.Equal("GMT", timezones.GetTimeZoneAcronym("tz=CET"));
            Assert.Equal("GMT", timezones.GetTimeZoneAcronym("dsa=yes"));
            Assert.Equal("GMT", timezones.GetTimeZoneAcronym("tz=CET£dsa=yes"));
            Assert.Equal("GMT", timezones.GetTimeZoneAcronym("tz£CET|dsa=yes"));
            Assert.Equal("CET", timezones.GetTimeZoneAcronym("tz=CET|dsa£yes"));
            Assert.Equal("CET", timezones.GetTimeZoneAcronym("tz=CET|dsa=xxx"));
            Assert.Equal("CET", timezones.GetTimeZoneAcronym("tz=CET|dsx=yes"));
            Assert.Equal("GMT", timezones.GetTimeZoneAcronym("tz=CXX|dsa=yes"));
            Assert.Equal("GMT", timezones.GetTimeZoneAcronym("tx=CET|dsa=yes"));
        }