예제 #1
0
 internal static void LoadSettings()
 {
     _curDllLocation = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
     //Путь до папки Settings на локальном компьютере.
     _localSettingsFolder = Path.GetDirectoryName(_curDllLocation);
     _settingsPikFile     = getSettings <SettingsPikFile>(Path.Combine(_curDllLocation, "SettingsPIK.xml"));
     if (_settingsPikFile == null)
     {
         _settingsPikFile = SettingsPikFile.Default();
     }
     _serverSettingsFolder      = GetServerSettingsPath(_settingsPikFile?.ServerSettingsPath);// TODO: Можно проверить доступность серверного пути, и если он недоступен, попробовать другой.
     _serverShareSettingsFolder = GetServerShareLibPath();
     try
     {
         // Загрузка группы юзера из файла UsersLisr2
         _userGroup = getUserGroupFromServer(GetServerUserListFile());
     }
     catch
     {
         _userGroup = getUserGroupFromLocalSide(GetServerUserListFile());
     }
     if (_userGroup == "Нет")
     {
         throw new Exceptions.NoGroupException();
     }
     UserGroupsCombined = GetUserCombinedGroups();
     _userGroups        = getUserGroups();
     _settingsGroupFile = LoadSettingsGroupFiles();
 }
예제 #2
0
        private static SettingsGroupFile LoadSettingsGroupFiles()
        {
            var sgfs = new List <SettingsGroupFile>();

            foreach (var usergroup in UserGroupsCombined)
            {
                var sgf = getSettings <SettingsGroupFile>(Path.Combine(_curDllLocation, usergroup, "SettingsGroup.xml"));
                if (sgf != null)
                {
                    sgfs.Add(sgf);
                    try
                    {
                        Log.Info($"Загружены настройки группы {usergroup} из SettingsGroup.xml");
                    }
                    catch { }
                }
            }
            return(SettingsGroupFile.Merge(sgfs));
        }