Exemple #1
0
        public AddRule(SirenOfShameSettings settings)
        {
            IocContainer.Instance.Compose(this);
            _settings = settings;
            InitializeComponent();

            EnableAudioSettings(enable: false);
            EnableLightSettings(enable: false);

            _when.DataSource    = Rule.TriggerTypes.Select(i => new KeyValuePair <TriggerType, string>(i.Key, i.Value)).ToList();
            _when.DisplayMember = "Value";

            var buildDefinitions = _settings.CiEntryPointSettings
                                   .SelectMany(i => i.BuildDefinitionSettings)
                                   .Where(bd => bd.Active)
                                   .ToList();

            buildDefinitions.Insert(0, _anyBuild);
            _build.DataSource    = buildDefinitions;
            _build.DisplayMember = "Name";

            _audio.DataSource    = SirenOfShameDevice.AudioPatterns.ToList();
            _audio.DisplayMember = "Name";

            _windowsAudio.DataSource = new[] { new Sound {
                                                   DisplayName = "None"
                                               } }
            .Concat(ResourceManager.InternalAudioFiles)
            .Concat(_settings.Sounds)
            .ToList();
            _windowsAudio.DisplayMember = "DisplayName";

            _lights.DataSource    = SirenOfShameDevice.LedPatterns.ToList();
            _lights.DisplayMember = "Name";

            _who.DataSource = _settings.AllUsersMinusMappedOnes();
        }