Exemplo n.º 1
0
 //this is necessary due to large changes to the class definition and streaming in / deserializing
 //older legacy XML
 public void RemoveDuplicateDeviceConfigurations()
 {
     DeviceConfigurations = DeviceConfigurations
                            .GroupBy(c => new { c.Kind, c.RelativeIndex, c.Driver, c.Path, c.Serial })
                            .Select(c => c.First())
                            .ToList();
 }
Exemplo n.º 2
0
        public T Create <T>() where T : IDevice
        {
            var device = Activator.CreateInstance <T>();

            device.Guid = Guid.NewGuid();

            Devices.Add(device);

            device.Config = new DeviceConfig
            {
                Name       = typeof(T).GetCustomAttribute <DisplayName>()?.Name ?? "Device",
                DeviceType = typeof(T),
                Properties = typeof(T)
                             .GetProperties()
                             .Where(x => x.GetCustomAttributes <rMind.Robot.Config>().Any())
                             .Select(x => new ConfigProperty
                {
                    ClassName = x.Name,
                    Value     = x.GetCustomAttribute <Config>()?.Default,
                    Name      = x.GetCustomAttribute <DisplayName>()?.Name ?? "Property"
                }).ToList(),
                Guid = device.Guid
            };

            DeviceConfigurations.Add(device.Config);
            m_deviceDict[device.Guid] = device;
            return(device);
        }
Exemplo n.º 3
0
 private void RemoveDisabledCoinsFromDeviceConfigurations()
 {
     foreach (Coin coinConfiguration in CoinConfigurations.Where(c => !c.Enabled))
     {
         IEnumerable <Device> coinDeviceConfigurations = DeviceConfigurations.Where(c => !String.IsNullOrEmpty(c.CoinSymbol) && c.CoinSymbol.Equals(coinConfiguration.PoolGroup.Id));
         foreach (Device coinDeviceConfiguration in coinDeviceConfigurations)
         {
             coinDeviceConfiguration.CoinSymbol = string.Empty;
         }
     }
 }
Exemplo n.º 4
0
 private void RemoveDisabledCoinsFromDeviceConfigurations()
 {
     foreach (CoinConfiguration coinConfiguration in CoinConfigurations.Where(c => !c.Enabled))
     {
         IEnumerable <DeviceConfiguration> coinDeviceConfigurations = DeviceConfigurations.Where(c => c.CoinSymbol.Equals(coinConfiguration.Coin.Symbol));
         foreach (DeviceConfiguration coinDeviceConfiguration in coinDeviceConfigurations)
         {
             coinDeviceConfiguration.CoinSymbol = string.Empty;
         }
     }
 }
Exemplo n.º 5
0
        private void FixDeviceConfigurationSymbolDiscrepencies()
        {
            bool save = DeviceConfigurations.Any(dc => dc.CoinSymbol.Equals(KnownCoins.BadDogecoinSymbol, StringComparison.OrdinalIgnoreCase));

            foreach (Device deviceConfiguration in DeviceConfigurations.Where(dc => dc.CoinSymbol.Equals(KnownCoins.BadDogecoinSymbol, StringComparison.OrdinalIgnoreCase)))
            {
                deviceConfiguration.CoinSymbol = KnownCoins.DogecoinSymbol;
            }
            if (save)
            {
                SaveDeviceConfigurations();
            }
        }