/// <summary> /// Executes a function /// </summary> /// <param name="processor">The <see cref="Processor"/></param> /// <param name="func">The function to execute</param> /// <returns><see cref="IResponse"/></returns> public static IResponse Process(this Processor processor, Func <IResponse> func) { if (processor == null) { var processNullMessage = $"The provided {nameof(processor)} is null."; SweetAlerts.Alert(HelperMethods.GetCurrentlyActiveForm(), string.Empty, processNullMessage, AlertButtons.Ok, AlertType.Error); return(ResponseFactory.Error(processNullMessage, ErrorResponseStatus.BadRequest)); } try { using (var form = new FuncOutputResponseExecutor { ParentControl = HelperMethods.GetCurrentlyActiveForm(processor.ParentControl), FormTitle = processor.OperationTitle, CanRetry = processor.CanRetry, ShowSuccessMessage = processor.ReportSuccess, IgnoreResponseMessage = processor.IgnoreResponseMessage, SuccessMessage = processor.SuccessMessage, Func = func, CancellationTokenSource = processor.CancellationTokenSource, FormImage = Properties.Resources.rolling, ProgressObject = processor.ProgressObject }) { form.ShowDialog(HelperMethods.GetCurrentlyActiveForm(processor.ParentControl)); return(form.Response); } } catch (Exception ex) { return(ResponseFactory.Exception(ex)); } }
/// <summary> /// Executes a function /// </summary> /// <param name="operationTitle">The title of the messagbox</param> /// <param name="func">The function to execute</param> /// <param name="retryable">A flag to allow asking to retry when execution fails</param> /// <param name="showSuccessMessage">Show message when execution passes</param> /// <param name="ignoreResponseMessage">When return type id <see cref="IResponse"/>, Ignore messages returned by the response</param> /// <param name="successMessage">The message to show when execution passes</param> /// <returns><see cref="IResponse"/></returns> public static IResponse <TOutput> Process <TOutput>(string operationTitle, Func <IResponse <TOutput> > func, bool retryable, bool showSuccessMessage = false, bool ignoreResponseMessage = false, string successMessage = "Processed successfully") { using (var form = new FuncOutputResponseExecutor <TOutput>(operationTitle, retryable, showSuccessMessage, ignoreResponseMessage, successMessage).SetAction(func).SetDetail(operationTitle)) { form.ShowDialog(); return(form.Response as IResponse <TOutput>); } }
public static IResponse Process(string operationTitle, Func <IResponse> func, bool retryable = true, bool showSuccessMessage = false, bool ignoreResponseMessage = false, string successMessage = "Processed successfully") { using (var form = new FuncOutputResponseExecutor() { FormTitle = operationTitle, CanRetry = retryable, ShowSuccessMessage = showSuccessMessage, IgnoreResponseMessage = ignoreResponseMessage, SuccessMessage = successMessage, Func = func, FormImage = Properties.Resources.rolling }) { form.ShowDialog(HelperMethods.GetCurrentlyActiveForm()); return(form.Response); } }
public static IResponse <TOutput> Process <TOutput>(string operationTitle, Func <IResponse <TOutput> > func, CancellationTokenSource cancellationTokenSource, bool showSuccessMessage = false, bool ignoreResponseMessage = false, string successMessage = "Processed successfully") { using (var form = new FuncOutputResponseExecutor <TOutput> { FormTitle = operationTitle, CanRetry = false, ShowSuccessMessage = showSuccessMessage, IgnoreResponseMessage = ignoreResponseMessage, SuccessMessage = successMessage, Func = func, CancellationTokenSource = cancellationTokenSource, FormImage = Properties.Resources.rolling }) { form.ShowDialog(HelperMethods.GetCurrentlyActiveForm()); return(form.Response as IResponse <TOutput>); } }