private async void executeAction(object sender, RoutedEventArgs e)
        {
            clearErrorMessages();
            (sender as Button).Content = "Re-Execute";
            var validationErrorMessage = validateInputFields();

            if (!string.IsNullOrEmpty(validationErrorMessage))
            {
                displayValidationErrorMessage(validationErrorMessage);
                return;
            }
            try
            {
                DisplayExecutingMessage();
                object[] parameters = getInputParameters();
                if (parameters.Any())
                {
                    //_tabManager.CloseTab(this);
                    var   task = Task.Run(() => _executingTab.InvokeAction(this, _executedAction, parameters));
                    await task;
                    _tabManager.DisplayOutput(this, task.Result, _executingTab, _executedAction);
                }
            }
            catch (Exception ex)
            {
                _tabManager.DisplayError(ex, _executingTab, this);
            }
        }
Example #2
0
        protected async void clickButton(object sender, RoutedEventArgs e)
        {
            var button = sender as Button;

            if (button != null)
            {
                var buttonTitle  = button.Name;
                var actionMethod = _actionMethods[buttonTitle];
                if (actionMethod != null)
                {
                    var tab = _tabManager.InitialiseOutputTab(this, actionMethod);
                    if (actionMethod.GetParameters().Any())
                    {
                        _tabManager.DisplayInputTab(tab, this, actionMethod);
                    }
                    else
                    {
                        try
                        {
                            tab.DisplayExecutingMessage();
                            var   task = Task.Run(() => InvokeAction(tab, actionMethod, new object[] { }));
                            await task;
                            _tabManager.DisplayOutput(tab, task.Result, this, actionMethod);
                        }
                        catch (Exception ex)
                        {
                            _tabManager.DisplayError(ex, this, tab);
                        }
                    }
                }
            }
        }