public static MachineSettings ForCurentMachine(MG_Settings settingsFile) { MachineSettings ms = null; var otherUsers = settingsFile == null ? new UserSettings[0] : settingsFile.UsersSettings; var machineName = GetMachineName(); if (otherUsers.Length > 0) { foreach (var u in otherUsers) //берём настройки текущей машины от первого пользователя, у кого они есть { var ums = u.MachinesSettings; if (ums != null && ums.Length > 0) { var curentMachine = ums.FirstOrDefault(s => machineName.Equals(s.MachineName)); if (curentMachine != null) { ms = curentMachine; break; } } } } if (ms == null) { ms = new MachineSettings(settingsFile); ms.MachineName = GetMachineName(); } return(ms); }
void SetCurentUserMachine() { m_curentMachineSettings = GetCurentMachineSettings(); if (!m_machineSettings.Contains(m_curentMachineSettings)) { m_machineSettings.Add(m_curentMachineSettings); } }
MachineSettings GetCurentMachineSettings() { //берём десериализованные или создаём новые MachineSettings dus = null; var curentMachineName = MachineSettings.GetMachineName(); if (m_machineSettings.Count == 0 || !m_machineSettings.Any(us => curentMachineName.Equals(us.MachineName))) { dus = MachineSettings.ForCurentMachine(SettingsFile); } else { dus = m_machineSettings.FirstOrDefault(us => curentMachineName.Equals(us.MachineName)); } if (dus == null) { m_loger.Log("Не удалось получить настроек для пользователя, создан экземпляр по умолчанию"); dus = MachineSettings.ForCurentMachine(SettingsFile); } return(dus); }