Beispiel #1
0
        public override void ApplyConfigChanges()
        {
            var shellConfig          = _shellConfigurationAgent.Get();
            var factoryMonitorConfig = _factoryMonitorConfigurationAgent.Get();

            // Shell Config
            shellConfig.EnableAlwaysOnTop    = ShellConfig.EnableAlwaysOnTop;
            shellConfig.EnableMinimiseToTray = ShellConfig.EnableMinimiseToTray;

            // Factory Monitor Config
            factoryMonitorConfig.EnableAutoCopy = FactoryMonitorConfig.EnableAutoCopy;

            _shellConfigurationAgent.Update(shellConfig);
            _factoryMonitorConfigurationAgent.Update(factoryMonitorConfig);
        }
        public override void ApplyConfigChanges()
        {
            var generatorConfigurations = _generatorConfigurations.Get();

            generatorConfigurations.Items = Configurations.Where(c => _generatorCatalogueService.GeneratorInfo.ContainsKey(c.GeneratorId)).Select(c =>
            {
                var g = _generatorCatalogueService.GeneratorInfo[c.GeneratorId];

                return(new GeneratorItemConfiguration
                {
                    Id = c.Id,
                    GeneratorId = c.GeneratorId,
                    Name = c.Name,
                    Description = c.Description,
                    ConfigurationStructure = g.SerialiseConfiguration(c.Configuration)
                });
            }).ToArray();

            _generatorConfigurations.Update(generatorConfigurations);
        }
        private void RefreshConfig()
        {
            if (_refreshingConfig)
            {
                return;
            }

            try
            {
                _refreshingConfig = true;

                var configuration = _configurationAgent.Get();

                AlwaysOnTop         = configuration.EnableAlwaysOnTop;
                AllowMinimiseToTray = configuration.EnableMinimiseToTray;
            }
            finally
            {
                _refreshingConfig = false;
            }
        }
        private void ConvertGeneratorConfigurations()
        {
            var config = _generatorConfigurations.Get();

            var configItems = config.Items.Where(x => _generator.GeneratorInfo.ContainsKey(x.GeneratorId)).Select(c =>
            {
                var g          = _generator.GeneratorInfo[c.GeneratorId];
                var configItem = g.DeserialiseConfiguration(c.ConfigurationStructure);

                return(new CreateItemGeneratorConfigurationViewModel(c.Id, g.Id, g.Name, c.Name, c.Description, configItem, _generator));
            }).ToList();

            AvailableFactoryConfigurations = configItems;
            SelectedGeneratorConfiguration = configItems.FirstOrDefault();
        }
        public CreateItemViewModel(IConfigurationService configService, IGeneratorService generator, IClipboardService clipboardService)
        {
            _generator        = generator;
            _clipboardService = clipboardService;

            _factoryMonitorConfigurationAgent = configService.GetConfigurationAgent <FactoryMonitorConfiguration>(CommonConfigurations.FactoryMonitorConfiguration, this);
            _factoryMonitorConfigurationAgent.Updated.Do(x => _factoryMonitorConfig = _factoryMonitorConfigurationAgent.Get()).Subscribe();
            _factoryMonitorConfig = _factoryMonitorConfigurationAgent.Get();

            _generatorConfigurations = configService.GetConfigurationAgent <GeneratorConfiguration>(CommonConfigurations.GeneratorConfiguration, this);
            _generatorConfigurations.Updated.ObserveOnDispatcher().Do(x => ConvertGeneratorConfigurations()).Subscribe();
            ConvertGeneratorConfigurations();

            CreateSelectedItemCommand = ReactiveCommand.Create(() =>
            {
                var instance = SelectedGeneratorConfiguration?.CreateInstance();

                if (_factoryMonitorConfig.EnableAutoCopy)
                {
                    instance?.SetToClipboard(_clipboardService);
                }
            });
        }