Beispiel #1
0
        /// <summary>
        /// Конструктор, ограничивающий создание объекта из других классов
        /// </summary>
        private AppData()
        {
            appDataLock = new object();

            inited        = false;
            cultureName   = Localization.Culture.Name;
            viewStampCntr = 0;

            scadaDataDictUpdater = null;
            scadaWebDictUpdater  = null;
            webSettingsUpdater   = null;
            viewSettingsUpdater  = null;
            viewSettingsBaseAge  = DateTime.MinValue;

            WebSettings  = new WebSettings();
            ViewSettings = new ViewSettings();
            PluginSpecs  = new List <PluginSpec>();
            UiObjSpecs   = new Dictionary <string, UiObjSpec>();
            AppDirs      = new AppDirs();
            Log          = new Log(Log.Formats.Full);
            Storage      = new Storage(AppDirs.StorageDir);
            RememberMe   = new RememberMe(Storage, Log);
            Stats        = new Stats(Storage, Log);
            UserMonitor  = new UserMonitor(Log);

            CreateDataObjects();
        }
Beispiel #2
0
        /// <summary>
        /// Создать копию настроек представлений
        /// </summary>
        public ViewSettings Clone()
        {
            ViewSettings viewSettings = new ViewSettings();

            foreach (ViewSet viewSet in ViewSetList)
            {
                viewSettings.ViewSetList.Add(viewSet.Clone());
            }
            return(viewSettings);
        }
Beispiel #3
0
        /// <summary>
        /// Конструктор, ограничивающий создание объекта из других классов
        /// </summary>
        private AppData()
        {
            appDataLock = new object();

            inited        = false;
            commSettings  = new CommSettings();
            viewStampCntr = 0;

            WebSettings  = new WebSettings();
            ViewSettings = new ViewSettings();
            PluginSpecs  = new List <PluginSpec>();
            ViewSpecs    = new Dictionary <string, ViewSpec>();
            AppDirs      = new AppDirs();
            Log          = new Log(Log.Formats.Full);
            Storage      = new Storage(AppDirs.StorageDir);
            RememberMe   = new RememberMe(Storage, Log);
            UserMonitor  = new UserMonitor(Log);

            InitUpdaters();
            CreateDataObjects();
        }
Beispiel #4
0
        /// <summary>
        /// Обновить настройки представлений
        /// </summary>
        private void RefreshViewSettings()
        {
            if (WebSettings.ViewsFromBase)
            {
                // обновление настроек представлений из базы конфигурации
                DataAccess.DataCache.RefreshBaseTables();
                DateTime baseAge = DataAccess.DataCache.BaseTables.BaseAge;

                if (baseAge > DateTime.MinValue && viewSettingsBaseAge != baseAge)
                {
                    ViewSettings newViewSettings = new ViewSettings();
                    string       errMsg;

                    if (newViewSettings.LoadFromBase(DataAccess, out errMsg))
                    {
                        if (!ViewSettings.Equals(newViewSettings))
                        {
                            ViewSettings        = newViewSettings;
                            viewSettingsBaseAge = baseAge;
                            viewSettingsUpdater.ResetFileAge();
                        }
                    }
                    else
                    {
                        Log.WriteError(errMsg);
                    }
                }
            }
            else
            {
                // обновление настроек представлений из файла
                bool changed;
                if (viewSettingsUpdater.Update(out changed) && changed)
                {
                    ViewSettings        = (ViewSettings)viewSettingsUpdater.Settings;
                    viewSettingsBaseAge = DateTime.MinValue;
                }
            }
        }
Beispiel #5
0
        private List<ViewSetRight> viewSetRightList; // список прав на наборы представлений и представления


        /// <summary>
        /// Конструктор
        /// </summary>
        private UserData()
        {
            ViewSettings = new ViewSettings();
            Logout();
        }
Beispiel #6
0
 /// <summary>
 /// Конструктор
 /// </summary>
 public ViewSetRight(ViewSettings.ViewSet viewSet)
 {
     ViewSet = viewSet;
     Right = MainData.Right.NoRights;
     ViewRightArr = null;
 }
Beispiel #7
0
 private void btnCancel_Click(object sender, EventArgs e)
 {
     commSettings = loadedCommSettings.Clone();
     viewSettings = loadedViewSettings.Clone();
     regKey = loadedRegKey;
     SettingsToControls();
     SetSettingsUnchanged();
 }
Beispiel #8
0
        /// <summary>
        /// Конструктор
        /// </summary>
        public FrmMain()
        {
            InitializeComponent();

            exeDir = "";
            configDir = "";
            webAppDir = "";
            commSettings = new CommSettings();
            webSettings = new WebSettings();
            viewSettings = new ViewSettings();
            regKey = "";

            loadedCommSettings = null;
            loadedWebSettings = null;
            loadedViewSettings = null;
            loadedRegKey = "";

            commSettingsChanged = false;
            webSettingsChanged = false;
            viewSettingsChanged = false;
            regKeyChanged = false;
            showing = false;

            selViewSet = null;
            selViewInfo = null;
        }
Beispiel #9
0
        /// <summary>
        /// Сохранить настройки в файлах
        /// </summary>
        private void SaveSettings()
        {
            StringBuilder sbErr = new StringBuilder();
            string errMsg;

            // сохранение настроек доступа к данным
            if (commSettingsChanged && !commSettings.SaveToFile(configDir + CommSettings.DefFileName, out errMsg))
                sbErr.AppendLine(errMsg);

            // сохранение настроек отображения
            if (webSettingsChanged && !webSettings.SaveToFile(configDir + WebSettings.DefFileName, out errMsg))
                sbErr.AppendLine(errMsg);

            // сохранение настроек представлений
            if (viewSettingsChanged && !viewSettings.SaveToFile(configDir + ViewSettings.DefFileName, out errMsg))
                sbErr.AppendLine(errMsg);

            if (sbErr.Length > 0)
            {
                ScadaUtils.ShowError(sbErr.ToString().TrimEnd());
            }
            else
            {
                SetSettingsUnchanged();
                loadedCommSettings = commSettings.Clone();
                loadedWebSettings = webSettings.Clone();
                loadedViewSettings = viewSettings.Clone();
                loadedRegKey = regKey;
            }
        }
Beispiel #10
0
        /// <summary>
        /// Загрузить настройки из файлов
        /// </summary>
        private void LoadSettings()
        {
            StringBuilder sbErr = new StringBuilder();
            string errMsg;

            SetSettingsUnchanged();

            // загрузка настроек соединения
            if (!commSettings.LoadFromFile(configDir + CommSettings.DefFileName, out errMsg))
                sbErr.AppendLine(errMsg);

            // загрузка настроек отображения
            if (!webSettings.LoadFromFile(configDir + WebSettings.DefFileName, out errMsg))
                sbErr.AppendLine(errMsg);

            // загрузка настроек представлений
            if (!viewSettings.LoadFromFile(configDir + ViewSettings.DefFileName, out errMsg))
                sbErr.AppendLine(errMsg);

            // отображение настроек
            SettingsToControls();

            if (sbErr.Length > 0)
                ScadaUtils.ShowError(sbErr.ToString().TrimEnd());

            loadedCommSettings = commSettings.Clone();
            loadedWebSettings = webSettings.Clone();
            loadedViewSettings = viewSettings.Clone();
            loadedRegKey = regKey;
        }
Beispiel #11
0
 /// <summary>
 /// Создать копию настроек представлений
 /// </summary>
 public ViewSettings Clone()
 {
     ViewSettings viewSettings = new ViewSettings();
     foreach (ViewSet viewSet in ViewSetList)
         viewSettings.ViewSetList.Add(viewSet.Clone());
     return viewSettings;
 }
Beispiel #12
0
        private List <ViewSetRight> viewSetRightList;          // список прав на наборы представлений и представления


        /// <summary>
        /// Конструктор
        /// </summary>
        private UserData()
        {
            ViewSettings = new ViewSettings();
            Logout();
        }