public virtual DialogResult ApplyChanges()

in wwauth/Google.Solutions.WWAuth/View/ConfigurationViewModelBase.cs [66:107]


        public virtual DialogResult ApplyChanges(IWin32Window owner)
        {
            Debug.Assert(this.IsDirty);

            DialogResult result;
            if (this.File.FilePath == null)
            {
                //
                // Select file to save to.
                //
                result = this.shellAdapter.ShowSaveFileDialog(
                    owner,
                    "Save as",
                    $"Credential configuration (*.{CredentialConfigurationFile.FileExtension})|" +
                        $"*.{CredentialConfigurationFile.FileExtension}|" +
                        "JSON (*.json)|*.json",
                    CredentialConfigurationFile.FileExtension,
                    out var filePath);

                if (result == DialogResult.OK)
                {
                    Debug.Assert(filePath != null);

                    this.File.SaveAs(filePath);
                    Debug.Assert(!this.File.IsDirty);
                }
            }
            else
            {
                this.File.Save();
                Debug.Assert(!this.File.IsDirty);

                result = DialogResult.OK;
            }

            //
            // Raise event so that the Apply button is disabled again.
            //
            RaisePropertyChange((WorkloadIdentityConfigurationViewModel m) => m.IsDirty);

            return result;
        }