Amoeba.Windows.SeedEditWindow._okButton_Click C# (CSharp) Method

_okButton_Click() private method

private _okButton_Click ( object sender, RoutedEventArgs e ) : void
sender object
e System.Windows.RoutedEventArgs
return void
        private void _okButton_Click(object sender, RoutedEventArgs e)
        {
            this.DialogResult = true;

            string name = _nameTextBox.Text;
            var keywords = new KeywordCollection();
            if (!string.IsNullOrWhiteSpace(_keywordsComboBox1.Text)) keywords.Add(_keywordsComboBox1.Text);
            if (!string.IsNullOrWhiteSpace(_keywordsComboBox2.Text)) keywords.Add(_keywordsComboBox2.Text);
            if (!string.IsNullOrWhiteSpace(_keywordsComboBox3.Text)) keywords.Add(_keywordsComboBox3.Text);
            keywords = new KeywordCollection(new HashSet<string>(keywords));
            var digitalSignature = _signatureComboBox.SelectedItem as DigitalSignature;

            foreach (var seed in _seeds)
            {
                lock (seed.ThisLock)
                {
                    if (!_nameTextBox.IsReadOnly)
                    {
                        seed.Name = name;
                    }

                    lock (seed.Keywords.ThisLock)
                    {
                        seed.Keywords.Clear();
                        seed.Keywords.AddRange(keywords);
                    }

                    if (digitalSignature == null)
                    {
                        seed.CreateCertificate(null);
                    }
                    else
                    {
                        seed.CreateCertificate(digitalSignature);
                    }
                }
            }

            Settings.Instance.Global_UploadKeywords.Clear();
            Settings.Instance.Global_UploadKeywords.AddRange(keywords);
        }