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();
                }
            }
        }
Example #2
0
        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();
        }
Example #3
0
        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);
 }