private void ViewModelOnAccountSuspended(Models.Session.SessionStatus sessionInfo) { if (GuiUtils.IsInvokedInGuiThread(this, () => UpdateSessionInfo(sessionInfo))) { return; } UpdateSessionInfo(sessionInfo); }
public static void Show(Models.Session.SessionStatus sessionInfo, string username) { if (__Instance == null || __Instance.IsLoaded == false) { __Instance = new SubscriptionExpireWindow(); } if (string.IsNullOrEmpty(username)) { username = ""; } __Instance.Username = username; __Instance.SetSessionInfo(sessionInfo); __Instance.Show(); if (__Instance.WindowState == WindowState.Minimized) { __Instance.WindowState = WindowState.Normal; } }
private void UpdateSessionInfo(Models.Session.SessionStatus sessionInfo) { if (GuiUtils.IsInvokedInGuiThread(this, () => UpdateSessionInfo(sessionInfo))) { return; } GuiAccountExpirationInfoButton.Visibility = Visibility.Hidden; if (sessionInfo == null) { return; } string text; Uri imageUri; // update text if (!sessionInfo.IsActive) { text = StringUtils.String("Label_SubscriptionExpired"); if (sessionInfo.IsOnFreeTrial) { text = StringUtils.String("Label_FreeTrialExpired"); } text += " " + StringUtils.String("Label_AccountExpiredUpgradeNow"); imageUri = new Uri("pack://application:,,,/" + Assembly.GetExecutingAssembly().GetName().Name + ";component/Resources/iconStatusBad.png", UriKind.RelativeOrAbsolute); } else { // show nothing if account Renewable (WillAutoRebill) if (sessionInfo.WillAutoRebill) { return; } int daysLeft = (int)(sessionInfo.ActiveUtil - DateTime.Now).TotalDays; if (daysLeft < 0) { daysLeft = 0; } // do not show notification when more than 4 days left if (daysLeft >= 4) { return; } if (daysLeft == 0) { text = StringUtils.String("Label_AccountDaysLeft_LastDay"); if (sessionInfo.IsOnFreeTrial) { text = StringUtils.String("Label_FreeTrialDaysLeft_LastDay"); } } else if (daysLeft == 1) { text = StringUtils.String("Label_AccountDaysLeft_OneDay"); if (sessionInfo.IsOnFreeTrial) { text = StringUtils.String("Label_FreeTrialDaysLeft_OneDay"); } } else { text = StringUtils.String("Label_AccountDaysLeft_PARAMETRIZED"); if (sessionInfo.IsOnFreeTrial) { text = StringUtils.String("Label_FreeTrialDaysLeft_PARAMETRIZED"); } text = string.Format(text, daysLeft); } imageUri = new Uri("pack://application:,,,/" + Assembly.GetExecutingAssembly().GetName().Name + ";component/Resources/iconStatusModerate.png", UriKind.RelativeOrAbsolute); } GuiAccountExpirationInfoText.Text = text; GuiAccountExpirationInfoImage.Source = new BitmapImage(imageUri); // set notification visible GuiAccountExpirationInfoButton.Visibility = Visibility.Visible; }
private void SetSessionInfo(Models.Session.SessionStatus accountInfo) { Session = accountInfo; string title; string titleDays = ""; string text; string renewButtonText = StringUtils.String("Button_RenewSubscription"); if (Session.IsOnFreeTrial) { renewButtonText = StringUtils.String("Button_GetSubscription"); } int progressDaysLeft = 0; if (!Session.IsActive) { title = StringUtils.String("Label_SubscriptionExpired"); if (Session.IsOnFreeTrial) { title = StringUtils.String("Label_FreeTrialExpired"); } text = StringUtils.String("Label_AccountDaysLeftDescription_Expired"); if (Session.IsOnFreeTrial) { text = StringUtils.String("Label_TrialDaysLeftDescription_Expired"); } } else { int daysLeft = (int)(Session.ActiveUtil - DateTime.Now).TotalDays; if (daysLeft < 0) { daysLeft = 0; } progressDaysLeft = daysLeft; if (daysLeft == 0) { title = StringUtils.String("Label_AccountDaysLeftTitle_LastDay"); if (Session.IsOnFreeTrial) { title = StringUtils.String("Label_TrialDaysLeftTitle_LastDay"); } text = StringUtils.String("Label_AccountDaysLeftDescription_LastDay"); if (Session.IsOnFreeTrial) { text = StringUtils.String("Label_TrialDaysLeftDescription_LastDay"); } titleDays = StringUtils.String("Days_Today"); } else if (daysLeft == 1) { title = StringUtils.String("Label_AccountDaysLeftTitle_OneDay"); if (Session.IsOnFreeTrial) { title = StringUtils.String("Label_TrialDaysLeftTitle_OneDay"); } text = StringUtils.String("Label_AccountDaysLeftDescription_OneDay"); if (Session.IsOnFreeTrial) { text = StringUtils.String("Label_TrialDaysLeftDescription_OneDay"); } titleDays = StringUtils.String("Days_OneDay"); } else { title = StringUtils.String("Label_AccountDaysLeftTitle_PARAMETRIZED"); if (Session.IsOnFreeTrial) { title = StringUtils.String("Label_TrialDaysLeftTitle_PARAMETRIZED"); } text = StringUtils.String("Label_TrialDaysLeftDescription_PARAMETRIZED"); if (Session.IsOnFreeTrial) { text = StringUtils.String("Label_AccountDaysLeftDescription_PARAMETRIZED"); } titleDays = StringUtils.String("Days_Days_PARAMETRIZED"); titleDays = string.Format(titleDays, daysLeft); text = string.Format(text, daysLeft); } } GuiTitle.Text = title; GuiTitleDaysLeft.Text = " " + titleDays; GuiText.Text = text; GuiRenewButtonText.Text = renewButtonText; GuiProgressBar.Minimum = 0; GuiProgressBar.Maximum = 4; if (progressDaysLeft > GuiProgressBar.Maximum) { progressDaysLeft = (int)GuiProgressBar.Maximum; } GuiProgressBar.Value = GuiProgressBar.Maximum - progressDaysLeft; }