Exemple #1
0
        /// <summary> Метод сохранения настроек </summary>
        public void SaveStatusModelUser()
        {
            var modelUserSettings = DataSourceUserSettings.GetModelUserSettings();

            modelUserSettings.ModelEnumUserBaseStatusObj = ModelUser.GetInstance().ModelEnumUserBaseStatusObj;
            modelUserSettings.UserExtendedStatus         = ModelUser.GetInstance().UserExtendedStatus;

            DataSourceUserSettings.SaveModelUserSettings(modelUserSettings);
        }
Exemple #2
0
        /// <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;
            }
        }
Exemple #3
0
        /// <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();
        }
Exemple #4
0
        /// <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);
        }
Exemple #5
0
        /// <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(); //----------------------------------------------------------------
            }
        }