private async void buttonExport_Click(object sender, EventArgs e) { //Create Export Paramaters bool excludePrivates = radCheckBoxExcludePrivate.Checked; bool ignoreDynamicProperties = _settings.IgnoreDynamicallyAddedProperties; ExportType exportType = GetExportType(); int maxDepth = (int)numericUpDownMaxDepth.Value; ExportParamaters exportParamaters = new ExportParamaters(excludePrivates, ignoreDynamicProperties, maxDepth, exportType); CancellationTokenSource cancellationTokenSource = new CancellationTokenSource(); _waitingDialog = new ProgressDialog(cancellationTokenSource); List <ExpressionWithSource> expressions = GetAllExpressions(); if (expressions.Any()) { //Hide and Show Progress Bar this.Hide(); _waitingDialog.Show(this); TypeRetriever retriever = new TypeRetriever(_dte2); var exportGenerator = new ExportGenerator(expressions, retriever, exportParamaters); try { Dictionary <string, string> lookupGeneratedTexts = await exportGenerator.GenerateTextWithKey(cancellationTokenSource.Token); //Setup event for when the form is shown to close the waiting dialog FormDisplayGeneratedText formDisplayGeneratedText = new FormDisplayGeneratedText(lookupGeneratedTexts, exportType); formDisplayGeneratedText.Shown += formDisplayGeneratedText_Shown; formDisplayGeneratedText.ShowDialog(this); } catch (ThreadAbortException ex) { _waitingDialog.Close(); } catch (ObjectDisposedException ex) { _waitingDialog.Close(); } catch (Exception ex) { _waitingDialog.Close(); Raygun.LogException(ex); MessageBox.Show("Error when attempting to export objects. If error reporting has not been disabled," + " then your error has already been logged."); } finally { this.Show(); } } }
public void LoadWindowGeneratedCode_Xml() { var dic = new Dictionary<string, string> { {"test1", "var dic = new Dictionary<string, string>();"}, {"test2", "public static int Complete() { return 2; }"}, }; FormDisplayGeneratedText form = new FormDisplayGeneratedText(dic, ExportType.Xml); form.ShowDialog(); }
public void LoadWindowGeneratedCode_Json() { var dic = new Dictionary<string, string> { {"test1", "var dic = new Dictionary<string, string>();"}, {"test2", TestResources.CurrentCustomerObject}, }; FormDisplayGeneratedText form = new FormDisplayGeneratedText(dic, ExportType.Json); form.ShowDialog(); }
private Task <FormDisplayGeneratedText> CreateAndShowFormAsync(Dictionary <string, string> lookupGeneratedTexts, ExportType exportType, CancellationToken cancellationToken) { return(Task.Run(() => { try { using (cancellationToken.Register(System.Threading.Thread.CurrentThread.Abort)) { var formGeneratedText = new FormDisplayGeneratedText(lookupGeneratedTexts, exportType); return formGeneratedText; } } catch (ThreadAbortException) { throw; } }, cancellationToken)); }
private async void buttonExport_Click(object sender, EventArgs e) { //Create Export Paramaters bool excludePrivates = radCheckBoxExcludePrivate.Checked; bool ignoreDynamicProperties = _settings.IgnoreDynamicallyAddedProperties; ExportType exportType = GetExportType(); int maxDepth = (int)numericUpDownMaxDepth.Value; ExportParamaters exportParamaters = new ExportParamaters(excludePrivates, ignoreDynamicProperties, maxDepth, exportType); CancellationTokenSource cancellationTokenSource = new CancellationTokenSource(); _waitingDialog = new ProgressDialog(cancellationTokenSource); List<ExpressionWithSource> expressions = GetAllExpressions(); if (expressions.Any()) { //Hide and Show Progress Bar this.Hide(); _waitingDialog.Show(this); TypeRetriever retriever = new TypeRetriever(_dte2); var exportGenerator = new ExportGenerator(expressions, retriever, exportParamaters); try { Dictionary<string, string> lookupGeneratedTexts = await exportGenerator.GenerateTextWithKey(cancellationTokenSource.Token); //Setup event for when the form is shown to close the waiting dialog FormDisplayGeneratedText formDisplayGeneratedText = new FormDisplayGeneratedText(lookupGeneratedTexts, exportType); formDisplayGeneratedText.Shown += formDisplayGeneratedText_Shown; formDisplayGeneratedText.ShowDialog(this); } catch (ThreadAbortException ex) { _waitingDialog.Close(); } catch (ObjectDisposedException ex) { _waitingDialog.Close(); } catch (Exception ex) { _waitingDialog.Close(); Raygun.LogException(ex); MessageBox.Show("Error when attempting to export objects. If error reporting has not been disabled," + " then your error has already been logged."); } finally { this.Show(); } } }
private Task<FormDisplayGeneratedText> CreateAndShowFormAsync(Dictionary<string, string> lookupGeneratedTexts, ExportType exportType, CancellationToken cancellationToken) { return Task.Run(() => { try { using (cancellationToken.Register(System.Threading.Thread.CurrentThread.Abort)) { var formGeneratedText = new FormDisplayGeneratedText(lookupGeneratedTexts, exportType); return formGeneratedText; } } catch (ThreadAbortException) { throw; } }, cancellationToken); }