void Provider_FetchRegionalSettingsCompleteEvent(object sender, RegionalSettingsFetchCompleteEventArgs args) { IsRefreshing = false; if ((args.Cancelled) || (args.Error != null)) { IsReady = false; if (args.Error != null) _vm.Status.Exception = args.Error; _vm.Status.AddToLog(string.Format("Error while fetching regional settings"), false); } else { UserTimeZone = args.UserTimeZone; WebTimeZone = args.WebTimeZone; IsReady = true; _vm.Status.AddToLog (string.Format ( "Regional settings initialized" ),false); _vm.Status.AddToLog( UserTimeZone != null ? string.Format("User time zone is -zone name:{0}-offset:{1}", this.UserTimeZone.TimeZoneName, UserTimeZone.OffsetFromUtc) : string.Format("User time zone not defined"), false); _vm.Status.AddToLog( WebTimeZone != null ? string.Format("Web site time zone is -zone name:{0}-offset:{1}", this.WebTimeZone.TimeZoneName, WebTimeZone.OffsetFromUtc) : string.Format("Web site time zone not defined"), false); _vm.Status.AddToLog(string.Format("Current time as per regional setting is:{0}", RegionalSetting.CurrentLocalTime.ToLongTimeString()), false); } }
private void LongOperationToFetchRegionalSettings(object param) { if (FetchRegionalSettingsCompleteEvent == null) return; Thread.Sleep(2000); var args = new RegionalSettingsFetchCompleteEventArgs { UserTimeZone = new TimeZoneSetting { TimeZoneName = "(GMT+08:00) Kuala Lumpur, Singapore, abc" + DateTime.Now.Second.ToString(CultureInfo.InvariantCulture), OffsetFromUtc = -120 }, WebTimeZone = new TimeZoneSetting { TimeZoneName = "hello world web time zone:" + DateTime.Now.Second.ToString(), OffsetFromUtc = -120 } }; Deployment.Current.Dispatcher.BeginInvoke(() => FetchRegionalSettingsCompleteEvent(this, args)); }
void customSrvClient_GetMySettingsCompleted(object sender, BCheck.Data.BCheckCustomServices.GetMySettingsCompletedEventArgs e) { if (this.FetchRegionalSettingsCompleteEvent == null) return; RegionalSettingsFetchCompleteEventArgs args = null; while (true) { if (e.Cancelled == true) { args = new RegionalSettingsFetchCompleteEventArgs(null, true, e.UserState); break; } if (e.Error != null) { args = new RegionalSettingsFetchCompleteEventArgs(e.Error, true, e.UserState); break; } args = new RegionalSettingsFetchCompleteEventArgs(); if (e.Result.UserTimeZone != null) args.UserTimeZone = new TimeZoneSetting { OffsetFromUtc = e.Result.UserTimeZone.OffsetFromUtc, TimeZoneName = e.Result.UserTimeZone.RegionDescription }; if (e.Result.SiteTimeZone != null) args.WebTimeZone = new TimeZoneSetting { OffsetFromUtc = e.Result.SiteTimeZone.OffsetFromUtc, TimeZoneName = e.Result.SiteTimeZone.RegionDescription }; break; } Deployment.Current.Dispatcher.BeginInvoke(delegate() { FetchRegionalSettingsCompleteEvent(this, args); }); }