/// <summary> Метод сохранения настроек </summary> public void SaveStatusModelUser() { var modelUserSettings = DataSourceUserSettings.GetModelUserSettings(); modelUserSettings.ModelEnumUserBaseStatusObj = ModelUser.GetInstance().ModelEnumUserBaseStatusObj; modelUserSettings.UserExtendedStatus = ModelUser.GetInstance().UserExtendedStatus; DataSourceUserSettings.SaveModelUserSettings(modelUserSettings); }
/// <summary> Обработчик изменения статуса пользователя </summary> private void OnUserStatusChanged() { switch (ModelUser.GetInstance().ModelEnumUserBaseStatusObj.Code) { case 1: NotifyIcon.Icon = Properties.Resources.dodicall_online; break; case 3: NotifyIcon.Icon = Properties.Resources.dodicall_dnd; break; default: NotifyIcon.Icon = Properties.Resources.dodicall_offline; break; } }
/// <summary> Конструктор </summary> public WindowStartup() { InitializeComponent(); Title = "DCBF3DE8-032E-4DCA-8158-AE0CF30A15AC" + WindowsIdentity.GetCurrent().Name.Replace(@"\", "-"); Instance = this; _windowMain = FactoryWindow.GetWindowMain(); // привязка смены языка интерфейса к смене языка в приложении LocalizationApp.GetInstance().LocalizationChanged += (sender, language) => OnLocalizationChanged(); ModelUser.GetInstance().UserStatusChanged += (sender, args) => OnUserStatusChanged(); OnLocalizationChanged(); _itemStatus.DropDownItems.Add(_itemOnline); _itemStatus.DropDownItems.Add(_itemDnd); _itemStatus.DropDownItems.Add(_itemHidden); _itemStatus.DropDownItems.Add(_itemOffline); _itemStatus.DropDownItems.Add(new ToolStripSeparator()); _itemStatus.DropDownItems.Add(_itemSetStatus); _itemOnline.Click += (sender, args) => { ModelUser.GetInstance().ModelEnumUserBaseStatusObj = ModelEnumUserBaseStatus.GetModelEnum(1); _viewModelTray.SaveStatusModelUser(); }; _itemDnd.Click += (sender, args) => { ModelUser.GetInstance().ModelEnumUserBaseStatusObj = ModelEnumUserBaseStatus.GetModelEnum(3); _viewModelTray.SaveStatusModelUser(); }; _itemHidden.Click += (sender, args) => { ModelUser.GetInstance().ModelEnumUserBaseStatusObj = ModelEnumUserBaseStatus.GetModelEnum(2); _viewModelTray.SaveStatusModelUser(); }; _itemOffline.Click += (sender, args) => { ModelUser.GetInstance().ModelEnumUserBaseStatusObj = ModelEnumUserBaseStatus.GetModelEnum(0); _viewModelTray.SaveStatusModelUser(); }; _itemSetStatus.Click += (sender, args) => SetUserStatus(); _itemOpen.Click += (sender, args) => WindowDispacher.GetInstance.ShowAllWindow(); _itemExit.Click += (sender, args) => ApplicationExit(); var ctxmenustrip = new ContextMenuStrip(); ctxmenustrip.Items.Add(_itemStatus); ctxmenustrip.Items.Add(_itemOpen); ctxmenustrip.Items.Add(new ToolStripSeparator()); ctxmenustrip.Items.Add(_itemExit); NotifyIcon.ContextMenuStrip = ctxmenustrip; NotifyIcon.DoubleClick += (sender, args) => { WindowDispacher.GetInstance.ShowAllWindow(); }; _windowMain.ViewUserAuthorizationClosed += WindowMainOnViewUserAuthorizationClosed; _windowMain.Show(); }
/// <summary> Получить текущий ModelUser </summary> public static ModelUser GetModelUser() { var accountData = Logic.GetAccountData(); var modelUser = ModelUser.GetInstance(); modelUser.FirstName = accountData.FirstName.Trim(); modelUser.LastName = accountData.LastName.Trim(); modelUser.ModelEnumCurrencyObj = ModelEnumCurrency.GetModelEnum((int)Logic.GetBalance().BalanceCurrency); modelUser.ModelServerAreaObj = DataSourceLogin.CurrentModelServerArea; var packageModelContactStatus = GetModelUserStatus(); modelUser.ModelEnumUserBaseStatusObj = packageModelContactStatus.ModelEnumUserBaseStatusObj; modelUser.UserExtendedStatus = packageModelContactStatus.UserExtendedStatus; RefreshModelUserBalance(modelUser); RefreshModelUserContact(modelUser); return(modelUser); }
/// <summary> Обработчик закрытия формы логина </summary> private void ViewUserAuthorizationOnIsVisibleChanged(object sender, DependencyPropertyChangedEventArgs dependencyPropertyChangedEventArgs) { if (_viewUserAuthorization.Visibility != Visibility.Collapsed) { return; } if (dependencyPropertyChangedEventArgs.NewValue as bool? == false) { _viewUserAuthorization.IsVisibleChanged -= ViewUserAuthorizationOnIsVisibleChanged; GridAuthorization.Children.Remove(_viewUserAuthorization); GridAuthorization.Visibility = Visibility.Hidden; _viewUserAuthorization = null; MenuMain.Visibility = Visibility.Visible; GridUser.Children.Add(new ViewUser()); RectangleUser.Visibility = Visibility.Visible; GridMain.Visibility = Visibility.Visible; GridLeftWorkspace.Children.Add(new ViewContact()); Title = String.Empty; OnViewUserAuthorizationClosed(); this.Title = "- " + ModelUser.GetInstance().FullName; UnlockWindow(); //---------------------------------------------------------------- } }