Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        void SetCurentUserMachine()
        {
            m_curentMachineSettings = GetCurentMachineSettings();

            if (!m_machineSettings.Contains(m_curentMachineSettings))
            {
                m_machineSettings.Add(m_curentMachineSettings);
            }
        }
Exemplo n.º 3
0
        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);
        }