示例#1
0
        private void miTuningLink_Click(object sender, EventArgs e)
        {
            using (frmTuning form = new frmTuning())
            {
                form.cbScreenSize.SelectedIndex = Properties.Settings.Default.ScreenSize;
                form.tbHostName.Text            = BaseServer.Settings.Host;
                form.tbPortNumber.Text          = BaseServer.Settings.Port;
                form.tbUserName.Text            = BaseServer.Settings.User;
                form.tbPassword.Text            = BaseServer.Settings.Password;
                form.tbFetchBase.Text           = BaseServer.Settings.Fetchbase;
                form.tbDatabase.Text            = BaseServer.Settings.Database;
                if (form.ShowDialog() == DialogResult.OK)
                {
                    Properties.Settings settings = Properties.Settings.Default;
                    settings.ScreenSize = form.cbScreenSize.SelectedIndex;
                    settings.Save();
                    if (BaseServer.Settings.Host != form.tbHostName.Text ||
                        BaseServer.Settings.Port != form.tbPortNumber.Text ||
                        BaseServer.Settings.User != form.tbUserName.Text ||
                        BaseServer.Settings.Password != form.tbPassword.Text ||
                        BaseServer.Settings.Fetchbase != form.tbFetchBase.Text ||
                        BaseServer.Settings.Database != form.tbDatabase.Text)
                    {
                        BaseServer.Settings.Host      = form.tbHostName.Text;
                        BaseServer.Settings.Port      = form.tbPortNumber.Text;
                        BaseServer.Settings.User      = form.tbUserName.Text;
                        BaseServer.Settings.Password  = form.tbPassword.Text;
                        BaseServer.Settings.Fetchbase = form.tbFetchBase.Text;
                        BaseServer.Settings.Database  = form.tbDatabase.Text;

                        SaveSettings();

                        Data.RestoreSQLsettings(Application.StartupPath);
                        if (Settings.CreateDataAndFetchBases())
                        {
                            try { DrawPlugin.RestoreImageCatalog(Application.StartupPath + "\\images\\"); }
                            catch (Exception ex)
                            {
                                Data.SendToSystemLog(Properties.Settings.Default.Station, "Картинки",
                                                     "Ошибка: " + ex.Message);
                            }
                            try { DrawPlugin.RestoreReportCatalog(Application.StartupPath + "\\reports\\"); }
                            catch (Exception ex)
                            {
                                Data.SendToSystemLog(Properties.Settings.Default.Station, "Отчёты",
                                                     "Ошибка: " + ex.Message);
                            }

                            Data.LoadBase(PointPlugin.LoadPlugins(Application.StartupPath));
                            MessageBox.Show(this, "Подключение к SQL-серверу успешно восстановлено.",
                                            "Настройка связи с SQL-сервером", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        }
                        else
                        {
                            MessageBox.Show(this, "Не удалось восстановить подключение к SQL-серверу.\n" +
                                            Settings.LastError,
                                            "Настройка связи с SQL-сервером", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                    }
                }
            }
        }
示例#2
0
        private void frmMain_Load(object sender, EventArgs e)
        {
            #region Защита от повторного запуска
            Process process = RunningInstance();
            if (process != null)
            {
                Application.Exit(); return;
            }
            #endregion
            this.Width         = 0;
            this.Height        = 1;
            MustWinLogOff      = false;
            AlarmAsked         = true;
            EntityAsked        = String.Empty;
            this.StationNumber = Properties.Settings.Default.Station;
            SplashForm         = new frmAbout();
            SplashForm.Show();
            SplashForm.Refresh();
            LoadUsersList(Application.StartupPath + "\\users.xml");
            IDictionary <string, IPointPlugin> plugins = PointPlugin.LoadPlugins(Application.StartupPath);
            DrawPlugin.LoadPlugins(Application.StartupPath);
            Data.RestoreSQLsettings(Application.StartupPath);
            Settings.CreateDataAndFetchBases();
            #region Создание кэша картинок на диске
            try { DrawPlugin.RestoreImageCatalog(Application.StartupPath + "\\images\\"); }
            catch (Exception ex)
            {
                Data.SendToSystemLog(StationNumber, "Картинки",
                                     "Ошибка: " + ex.Message);
            }
            #endregion
            baseVersion        = Data.LoadBase(plugins);
            timerClock.Enabled = true;
            timerFetch.Enabled = true;
            Data.SendToChangeLog(StationNumber, "Станция RemX", "Старт", String.Empty, "Работа",
                                 "Автономно", "Уровень доступа: " + UserLevel.ToString());
            Data.SendToSystemLog(StationNumber, "Станция RemX", "Рабочая станция загружена");
            ClientID = Data.ClientLogin(ClientID, "S", StationNumber, Properties.Settings.Default.StationName);
            LoadFetchServers();

            //if (ServerSQL.HostIsLocalhost()) startFetchServices();

            bool     winmode  = Properties.Settings.Default.WindowMode;
            Screen[] monitors = Screen.AllScreens;
            panels = new frmPanel[monitors.Length];
            for (int i = 0; i < monitors.Length; i++)
            {
                if (!winmode || winmode && monitors[i].Primary)
                {
                    panels[i] = new frmPanel(this, monitors[i].Primary, monitors[i].WorkingArea);
                    if (winmode)
                    {
                        panels[i].FormBorderStyle    = System.Windows.Forms.FormBorderStyle.Sizable;
                        panels[i].pnlCaption.Visible = false;
                        panels[i].stpStatus.Visible  = false;
                        panels[i].Size = new System.Drawing.Size(
                            Properties.Settings.Default.PanelWidth,
                            Properties.Settings.Default.PanelHeight);
                        panels[i].Location = new System.Drawing.Point(
                            Properties.Settings.Default.PanelLeft,
                            Properties.Settings.Default.PanelTop);
                    }
                    panels[i].Show(this);
                }
            }
            PeriodicalCheck();
        }