Amoeba.Windows.OptionsWindow._signatureExportButton_Click C# (CSharp) Method

_signatureExportButton_Click() private method

private _signatureExportButton_Click ( object sender, RoutedEventArgs e ) : void
sender object
e RoutedEventArgs
return void
        private void _signatureExportButton_Click(object sender, RoutedEventArgs e)
        {
            var item = _signatureListView.SelectedItem as SignatureListViewItem;
            if (item == null) return;

            var signature = item.Value;

            using (System.Windows.Forms.SaveFileDialog dialog = new System.Windows.Forms.SaveFileDialog())
            {
                dialog.RestoreDirectory = true;
                dialog.FileName = signature.ToString();
                dialog.DefaultExt = ".signature";
                dialog.Filter = "Signature (*.signature)|*.signature";

                if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                {
                    var fileName = dialog.FileName;

                    try
                    {
                        using (FileStream fileStream = new FileStream(fileName, FileMode.Create))
                        using (Stream digitalSignatureStream = DigitalSignatureConverter.ToDigitalSignatureStream(signature))
                        using (var safeBuffer = _bufferManager.CreateSafeBuffer(1024 * 4))
                        {
                            int length;

                            while ((length = digitalSignatureStream.Read(safeBuffer.Value, 0, safeBuffer.Value.Length)) > 0)
                            {
                                fileStream.Write(safeBuffer.Value, 0, length);
                            }
                        }
                    }
                    catch (Exception)
                    {

                    }
                }
            }
        }
OptionsWindow