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(); }
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)); }