Esempio n. 1
0
        void IResult.Execute(ActionExecutionContext context)
        {
            var dialog = CreateDialog();

            dialog.ShowDialog();

            var  resultArgs = new ResultCompletionEventArgs();
            bool cancelled  = string.IsNullOrWhiteSpace(dialog.SelectedPath);

            if (cancelled)
            {
                resultArgs.WasCancelled = !_ignoreUserCancel;
            }
            else
            {
                SelectedPath = dialog.SelectedPath;

                if (_pathAction != null)
                {
                    try
                    {
                        _pathAction(SelectedPath);
                    }
                    catch (Exception e)
                    {
                        resultArgs.Error = e;
                    }
                }
            }

            _completed(this, resultArgs);
        }
 void HandleCancelCompleted(object sender, ResultCompletionEventArgs args)
 {
     ((IResult)sender).Completed -= HandleCancelCompleted;
     OnCompleted(new ResultCompletionEventArgs {
         Error = args.Error, WasCancelled = (args.Error == null)
     });
 }
Esempio n. 3
0
 void OnResultCompleted(object sender, ResultCompletionEventArgs e)
 {
     Result.Completed -= OnResultCompleted;
     CompletionEventArgs = e;
     ExecutionCompleteWaitHandle.Set();
     Completed(this, EventArgs.Empty);
 }
Esempio n. 4
0
 public ResultExecutionTask(IResult result, ActionExecutionContext context)
 {
     Result = result;
     Context = context;
     CompletionEventArgs = new ResultCompletionEventArgs();
     ExecutionCompleteWaitHandle = new ManualResetEvent(false);
 }
Esempio n. 5
0
 public ResultExecutionTask(IResult result, ActionExecutionContext context)
 {
     Result                      = result;
     Context                     = context;
     CompletionEventArgs         = new ResultCompletionEventArgs();
     ExecutionCompleteWaitHandle = new ManualResetEvent(false);
 }
        /// <summary>
        /// Called when the execution of the decorated result has completed.
        /// </summary>
        /// <param name="innerResult">The decorated result.</param>
        /// <param name="args">The <see cref="ResultCompletionEventArgs" /> instance containing the event data.</param>
        protected override void OnInnerResultCompleted(IResult innerResult, ResultCompletionEventArgs args)
        {
            if (args.Error != null || !args.WasCancelled)
            {
                OnCompleted(new ResultCompletionEventArgs {
                    Error = args.Error
                });
            }
            else
            {
                Log.Info(string.Format("Executing coroutine because {0} was cancelled", innerResult.GetType().Name));

                IResult cancelResult;
                try {
                    cancelResult = new SequentialResult(coroutine().GetEnumerator());
                }
                catch (Exception ex) {
                    OnCompleted(new ResultCompletionEventArgs {
                        Error = ex
                    });
                    return;
                }

                try {
                    cancelResult.Completed += HandleCancelCompleted;
                    cancelResult.Execute(context);
                }
                catch (Exception ex) {
                    HandleCancelCompleted(cancelResult, new ResultCompletionEventArgs {
                        Error = ex
                    });
                }
            }
        }
Esempio n. 7
0
        void OnInnerCompleted(object sender, ResultCompletionEventArgs e)
        {
            _inner.Completed -= OnInnerCompleted;
            UpdateIndicator(_context, null);

            Completed(this, e);
        }
Esempio n. 8
0
        public async void Execute(CoroutineExecutionContext context)
        {
            var mySettings = new MetroDialogSettings()
            {
                AffirmativeButtonText = "OK",
                AnimateShow           = true,
                AnimateHide           = false
            };
            IDialogCoordinator coordinator = IoC.Get <IDialogCoordinator>();

            DialogContent.CloseButton.Click += async(s, e) =>
            {
                Result = (T)DialogContent.Combo.SelectedItem;
                await coordinator.HideMetroDialogAsync(context.Target, DialogContent);

                var args = new ResultCompletionEventArgs()
                {
                    WasCancelled = Result == null
                };
                this.Completed(this, args);
            };

            DialogContent.Title = Title;

            await coordinator.ShowMetroDialogAsync(context.Target, DialogContent);
        }
Esempio n. 9
0
        void IResult.Execute(ActionExecutionContext context)
        {
            var dialog = CreateDialog();

            dialog.ShowDialog();

            var resultArgs = new ResultCompletionEventArgs();
            bool cancelled = string.IsNullOrWhiteSpace(dialog.SelectedPath);

            if (cancelled)
            {
                resultArgs.WasCancelled = !_ignoreUserCancel;
            }
            else
            {
                SelectedPath = dialog.SelectedPath;

                if (_pathAction != null)
                {
                    try
                    {
                        _pathAction(SelectedPath);
                    }
                    catch (Exception e)
                    {
                        resultArgs.Error = e;
                    }
                }
            }

            _completed(this, resultArgs);
        }
Esempio n. 10
0
 protected virtual void OnCompleted(ResultCompletionEventArgs args)
 {
     if (Completed != null)
     {
         Completed(this, args);
     }
 }
Esempio n. 11
0
 protected virtual void OnCompleted(object sender, ResultCompletionEventArgs e)
 {
     if (Completed != null)
     {
         Completed(sender, e);
     }
 }
Esempio n. 12
0
        public static ResultCompletionEventArgs ExecuteAndWait(this IResult action, CoroutineExecutionContext context,
                                                               System.Action executeAfterActionStarted = null)
        {
            ResultCompletionEventArgs retVal = null;
            var handle = new System.Threading.ManualResetEventSlim(false);

            action.Completed += (sender, args) =>
            {
                if (args == null)
                {
                    throw new Exception("Args = null");
                }
                retVal = args;
                handle.Set();
            };
            action.Execute(context);
            if (executeAfterActionStarted != null)
            {
                executeAfterActionStarted();
            }
            handle.Wait();

            if (retVal == null)
            {
                throw new Exception("Completed not triggered");
            }
            return(retVal);
        }
Esempio n. 13
0
        private void FileOk(object sender, CancelEventArgs args)
        {
            _cancelled = false;

            var resultArgs = new ResultCompletionEventArgs();
            var dialog = (sender as OpenFileDialog);

            if (args.Cancel)
            {
                resultArgs.WasCancelled = !_ignoreUserCancel;
            }
            else
            {
                FileNames = dialog.FileNames;

                if (_fileAction != null)
                {
                    try
                    {
                        _fileAction(FileNames);
                    }
                    catch (Exception e)
                    {
                        resultArgs.Error = e;
                    }
                }
            }

            OnCompleted(dialog, resultArgs);
        }
Esempio n. 14
0
 private void OnReportingCompleted(ObservableList<PendingReport>.ListChangedEventArgs e, ResultCompletionEventArgs args)
 {
     if (e.Item.ReportCompletedCallback != null)
     {
         e.Item.ReportCompletedCallback(e.Item.Exception, args.WasCancelled);
     }
 }
Esempio n. 15
0
 void OnResultCompleted(object sender, ResultCompletionEventArgs e)
 {
     Result.Completed   -= OnResultCompleted;
     CompletionEventArgs = e;
     ExecutionCompleteWaitHandle.Set();
     Completed(this, EventArgs.Empty);
 }
 protected void InvokeCompleted(ResultCompletionEventArgs resultCompletionEventArgs)
 {
     if (Completed != null)
     {
         Completed(this, resultCompletionEventArgs);
     }
 }
Esempio n. 17
0
        private void FileOk(object sender, CancelEventArgs args)
        {
            _cancelled = false;

            var resultArgs = new ResultCompletionEventArgs();
            var dialog     = (sender as OpenFileDialog);

            if (args.Cancel)
            {
                resultArgs.WasCancelled = !_ignoreUserCancel;
            }
            else
            {
                FileNames = dialog.FileNames;

                if (_fileAction != null)
                {
                    try
                    {
                        _fileAction(FileNames);
                    }
                    catch (Exception e)
                    {
                        resultArgs.Error = e;
                    }
                }
            }

            OnCompleted(dialog, resultArgs);
        }
Esempio n. 18
0
        void OnInnerCompleted(object sender, ResultCompletionEventArgs e)
        {
            _inner.Completed -= OnInnerCompleted;
            UpdateIndicator(_context, null);

            Completed(this, e);
        }
Esempio n. 19
0
        /// <summary>
        /// Executes this action.
        /// </summary>
        /// <param name="context">The execution context</param>
        public async void Execute(CoroutineExecutionContext context)
        {
            //var result = MessageBox.Show(
            //    this.Question,
            //    this.Title,
            //    this.AllowCancel ? MessageBoxButton.YesNoCancel : MessageBoxButton.YesNo,
            //    MessageBoxImage.Question,
            //    MessageBoxResult.Yes);

            var mySettings = new MetroDialogSettings()
            {
                AffirmativeButtonText    = "Save and Close",
                NegativeButtonText       = "Cancel",
                FirstAuxiliaryButtonText = "Close Window Without Saving",
                AnimateShow = true,
                AnimateHide = false
            };
            IDialogCoordinator coordinator = IoC.Get <IDialogCoordinator>();
            var result = await coordinator.ShowMessageAsync(context.Target, this.Title,
                                                            this.Question,
                                                            MessageDialogStyle.AffirmativeAndNegativeAndSingleAuxiliary, mySettings);

            this.Result = result == MessageDialogResult.Affirmative;
            var args = new ResultCompletionEventArgs()
            {
                WasCancelled = result == MessageDialogResult.Negative,
            };

            this.Completed(this, args);
        }
Esempio n. 20
0
        /// <summary>
        /// Generates the report.
        /// </summary>
        private void GenerateReport()
        {
            // Get hands on the report generator
            try
            {
                var generator = IoC.Get <IReportGenerator>(this.GeneratorType);
                var report    = generator.GenerateReport(this.Match);

                var renderer = IoC.Get <IReportRenderer>("PDF");

                using (var sink = File.Create(this.FileName))
                {
                    report.RenderToStream(renderer, sink);
                }

                this.Completed(this, new ResultCompletionEventArgs());
                Process.Start(this.FileName);
            }
            catch (Exception exc)
            {
                var args = new ResultCompletionEventArgs()
                {
                    Error = exc
                };
                this.Completed(this, args);
            }
        }
Esempio n. 21
0
        public void Execute(ActionExecutionContext context)
        {
            var manager = (WindowManager)IoC.Get <IWindowManager>();
            var args    = new ResultCompletionEventArgs();
            IDictionary <string, object> settings = null;

            if (FullScreen)
            {
                settings = new Dictionary <string, object> {
                    { "WindowState", WindowState.Maximized }
                };
            }

            if (Resizable || FullScreen)
            {
                manager.ShowDialog(Model, null, settings);
            }
            else
            {
                manager.ShowFixedDialog(Model);
            }

            var cancellable = Model as ICancelable;

            if (cancellable != null)
            {
                args.WasCancelled = cancellable.WasCancelled;
            }
            RaiseCompleted(args);
        }
        void IResult.Execute(ActionExecutionContext context)
        {
            var dialog = CreateDialog();

            if (dialog.ShowDialog() != true)
            {
                this._Completed(this,
                                new ResultCompletionEventArgs
                {
                    WasCancelled = !this._IgnoreUserCancel
                });
                return;
            }

            var resultArgs = new ResultCompletionEventArgs();

            this.FileName = dialog.FileName;

            if (this._FileAction != null)
            {
                try
                {
                    this._FileAction(FileName);
                }
                catch (Exception e)
                {
                    resultArgs.Error = e;
                }
            }

            this.OnCompleted(resultArgs);
        }
        protected override void InnerCompleted(object sender, ResultCompletionEventArgs args)
        {
            base.InnerCompleted(sender, args);

            if (args.WasCancelled) _log.Info(string.Format("Overriding WasCancelled from {0}", Inner.GetType().Name));

            OnCompleted(new ResultCompletionEventArgs {Error = args.Error});
        }
Esempio n. 24
0
        protected override void InnerCompleted(object sender, ResultCompletionEventArgs args)
        {
            base.InnerCompleted(sender, args);

            Executer.OnUIThread(() => this.OnCompleted(new ResultCompletionEventArgs {
                WasCancelled = args.WasCancelled, Error = args.Error
            }));
        }
Esempio n. 25
0
        private void RescueCompleted(object sender, ResultCompletionEventArgs args)
        {
            ((IResult)sender).Completed -= this.RescueCompleted;

            this.OnCompleted(new ResultCompletionEventArgs {
                Error = args.Error, WasCancelled = args.WasCancelled || this.CancelResult
            });
        }
        void HandleCancelCompleted(object sender, ResultCompletionEventArgs args)
        {
            (sender as IResult).Completed -= HandleCancelCompleted;

            OnCompleted(new ResultCompletionEventArgs {
                Error = args.Error, WasCancelled = true
            });
        }
        public void WhenCancelledShouldBeCancelled()
        {
            this.result.SetupCompletedCancelled();

            ResultCompletionEventArgs result = this.ExecuteTestee();

            result.Error.Should().BeNull();
            result.WasCancelled.Should().BeTrue();
        }
 void RescueCompleted(object sender, ResultCompletionEventArgs args)
 {
     ((IResult)sender).Completed -= RescueCompleted;
     OnCompleted(new ResultCompletionEventArgs
     {
         Error        = args.Error,
         WasCancelled = (args.Error == null && (args.WasCancelled || cancelResult))
     });
 }
 /// <summary>
 /// Called when the execution of the decorated result has completed.
 /// </summary>
 /// <param name="context">The context.</param>
 /// <param name="innerResult">The decorated result.</param>
 /// <param name="args">The <see cref="ResultCompletionEventArgs" /> instance containing the event data.</param>
 protected override void OnInnerResultCompleted(ActionExecutionContext context, IResult innerResult, ResultCompletionEventArgs args) {
     if (args.Error != null || !args.WasCancelled) {
         OnCompleted(new ResultCompletionEventArgs {Error = args.Error});
     }
     else {
         Log.Info(string.Format("Executing coroutine because {0} was cancelled.", innerResult.GetType().Name));
         Continue(context);
     }
 }
Esempio n. 30
0
        private void Coroutine_Completed(object sender, ResultCompletionEventArgs e)
        {
            if (e.Error != null)
            {
                LogManager.GetLog(typeof(AppBootstrapper)).Error(e.Error);

                IoC.Get <IDialogManager>().ShowErrorMessageBox(e.Error.ToString());
            }
        }
            protected override void OnCompleted(IOpenFileService openFileService, ResultCompletionEventArgs args)
            {
                if (!args.WasCancelled)
                {
                    Result = openFileService.Files;
                }

                base.OnCompleted(openFileService, args);
            }
Esempio n. 32
0
        public void Execute(CoroutineExecutionContext context)
        {
            var args = new ResultCompletionEventArgs()
            {
                WasCancelled = false
            };

            this.Completed(this, args);
        }
        /// <summary>
        /// Handles the completion of the execution.
        /// </summary>
        /// <param name="saveFileSerivce">The save file service.</param>
        /// <param name="args">The <see cref="ResultCompletionEventArgs"/> instance containing the event data.</param>
        protected virtual void OnCompleted(ISaveFileSerivce saveFileSerivce, ResultCompletionEventArgs args)
        {
            if (!args.WasCancelled)
            {
                lazyStream = new Lazy <Stream>(saveFileSerivce.OpenFile);
            }

            Completed(this, args);
        }
        public void WhenExceptionShouldOnExecuteShouldCompleteWithException()
        {
            var expectedException = new InvalidOperationException();

            this.result.Setup(r => r.Execute(It.IsAny <ActionExecutionContext>())).Throws(expectedException);

            ResultCompletionEventArgs result = this.ExecuteTestee();

            result.Error.Should().Be(expectedException);
            result.WasCancelled.Should().BeFalse();
        }
Esempio n. 35
0
 protected void OnCompleted(ResultCompletionEventArgs resultCompletionEventArgs)
 {
     new System.Action(() =>
     {
         var tmp = Completed;
         if (tmp != null)
         {
             tmp(this, resultCompletionEventArgs);
         }
     }).OnUIThread();
 }
Esempio n. 36
0
        public void Execute(ActionExecutionContext context)
        {
            var resultCompletionEventArgs = new ResultCompletionEventArgs {
                WasCancelled = Manager.ShowDialog(Dialog) != System.Windows.Forms.DialogResult.OK
            };

            if (Completed != null)
            {
                Completed(this, resultCompletionEventArgs);
            }
        }
Esempio n. 37
0
        /// <summary>
        /// Called when the execution of the decorated result has completed.
        /// </summary>
        /// <param name="innerResult">The decorated result.</param>
        /// <param name="args">The <see cref="ResultCompletionEventArgs" /> instance containing the event data.</param>
        protected override void OnInnerResultCompleted(IResult innerResult, ResultCompletionEventArgs args)
        {
            if (args.WasCancelled)
            {
                Log.Info(string.Format("Overriding WasCancelled from {0}", innerResult.GetType().Name));
            }

            OnCompleted(new ResultCompletionEventArgs {
                Error = args.Error
            });
        }
        public void WhenExceptionShouldHaveError()
        {
            var expectedException = new Exception();

            this.result.SetupCompletedWithException(expectedException);

            ResultCompletionEventArgs result = this.ExecuteTestee();

            result.Error.Should().Be(expectedException);
            result.WasCancelled.Should().BeFalse();
        }
        protected virtual void OnCompleted(ResultCompletionEventArgs e)
        {
            _storage.SaveCompleted -= StorageOnSaveCompleted;
            _storage = null;
            _report = null;

            var handler = Completed;
            if (handler != null)
            {
                handler(this, e);
            }

            Completed = null;
        }
Esempio n. 40
0
        protected virtual void OnCompleted(ResultCompletionEventArgs e)
        {
            _builder.BuildCompleted -= BuilderOnBuildCompleted;
            _builder = null;
            _report = null;

            var handler = Completed;
            if (handler != null)
            {
                handler(this, e);
            }

            Completed = null;
        }
Esempio n. 41
0
        public void Execute(ActionExecutionContext context)
        {
            var resultArgs = new ResultCompletionEventArgs();

            try
            {
                _action();
            }
            catch (Exception e)
            {
                resultArgs.Error = e;
            }

            Completed(this, resultArgs);
        }
        protected override void InnerCompleted(object sender, ResultCompletionEventArgs args)
        {
            base.InnerCompleted(sender, args);

            if (args.Error != null || !args.WasCancelled)
            {
                OnCompleted(new ResultCompletionEventArgs {Error = args.Error});
            }
            else
            {
                Log.Info(string.Format("Executing coroutine because {0} was cancelled", Inner.GetType().Name));

                var cancelResult = new SequentialResult(_coroutine().GetEnumerator());
                cancelResult.Completed += HandleCancelCompleted;

                cancelResult.Execute(_context);
            }
        }
Esempio n. 43
0
        private void FileOk(object sender, CancelEventArgs args)
        {
            _cancelled = false;
            var dialog = (sender as SaveFileDialog);

            var resultArgs = new ResultCompletionEventArgs();

            FileName = dialog.FileName;

            if (_fileAction != null)
            {
                try
                {
                    _fileAction(FileName);
                }
                catch (Exception e)
                {
                    resultArgs.Error = e;
                    args.Cancel = true;
                }
            }

            OnCompleted(dialog, resultArgs);
        }
Esempio n. 44
0
        private void OnCompleted(OpenFileDialog dialog, ResultCompletionEventArgs args)
        {
            dialog.FileOk -= FileOk;

            _completed(this, args);
        }
Esempio n. 45
0
 protected virtual void OnCompleted(ResultCompletionEventArgs e)
 {
     Micro.Execute.OnUIThread(() => Completed(this, e));
 }
Esempio n. 46
0
 protected virtual void InnerCompleted(object sender, ResultCompletionEventArgs args)
 {
     (sender as IResult).Completed -= InnerCompleted;
 }
        void HandleCancelCompleted(object sender, ResultCompletionEventArgs args)
        {
            (sender as IResult).Completed -= HandleCancelCompleted;

            OnCompleted(new ResultCompletionEventArgs {Error = args.Error, WasCancelled = true});
        }
 void ContinueCompleted(object sender, ResultCompletionEventArgs args) {
     ((IResult)sender).Completed -= ContinueCompleted;
     OnCompleted(new ResultCompletionEventArgs {Error = args.Error, WasCancelled = (args.Error == null)});
 }
Esempio n. 49
0
 protected virtual void OnCompleted(ResultCompletionEventArgs args)
 {
     if (Completed != null) Completed(this, args);
 }
 protected virtual void OnCompleted(ResultCompletionEventArgs e)
 {
     var handler = Completed;
     if (handler != null) handler(this, e);
 }
 /// <summary>
 /// Raises the <see cref="Completed" /> event.
 /// </summary>
 /// <param name="args">The <see cref="ResultCompletionEventArgs"/> instance containing the event data.</param>
 protected void OnCompleted(ResultCompletionEventArgs args) {
     Completed(this, args);
 }
 /// <summary>
 /// Called when the execution of the decorated result has completed.
 /// </summary>
 /// <param name="context">The context.</param>
 /// <param name="innerResult">The decorated result.</param>
 /// <param name="args">The <see cref="ResultCompletionEventArgs"/> instance containing the event data.</param>
 protected abstract void OnInnerResultCompleted(ActionExecutionContext context, IResult innerResult, ResultCompletionEventArgs args);
        /// <summary>
        /// Called when the execution of the decorated result has completed.
        /// </summary>
        /// <param name="context">The context.</param>
        /// <param name="innerResult">The decorated result.</param>
        /// <param name="args">The <see cref="ResultCompletionEventArgs" /> instance containing the event data.</param>
        protected override void OnInnerResultCompleted(CoroutineExecutionContext context, IResult innerResult, ResultCompletionEventArgs args) {
            if (args.WasCancelled)
                Log.Info(string.Format("Overriding WasCancelled from {0}.", innerResult.GetType().Name));

            OnCompleted(new ResultCompletionEventArgs { Error = args.Error });
        }
 void InnerResultCompleted(object sender, ResultCompletionEventArgs args) {
     innerResult.Completed -= InnerResultCompleted;
     OnInnerResultCompleted(context, innerResult, args);
     context = null;
 }