Пример #1
0
        public virtual async Task <ActionResult> Build()
        {
            // check if model was submitted in a good state
            if (!innerBuilder.ModelState.IsValid)
            {
                return(CommandBuilderHelpers.ReturnJsonModelState(innerBuilder.ModelState));
            }

            try
            {
                var errors = await innerBuilder.Mediator.ProcessCommandAsync(innerBuilder.Command);

                if (!errors.IsSuccess())
                {
                    innerBuilder.ModelState.AddErrorMessages(errors);

                    return(CommandBuilderHelpers.ReturnJsonModelState(innerBuilder.ModelState));
                }
            }
            catch (Exception exception)
            {
                innerBuilder.HandleException(exception);
            }

            return(innerBuilder.Handle());
        }
Пример #2
0
        public ActionResult HandleException(Exception exception)
        {
            ExceptionHandler.Current.Invoke(exception);
            LoggingService.ErrorException("Failed to process command", exception);
            if (exception is DomainException)
            {
                ModelState.AddModelError("", exception.Message);
            }
            else
            {
#if (DEBUG)
                ModelState.AddModelError("", "Unable to process command " + exception);
#else
                ModelState.AddModelError("", "Unable to process command");
#endif
            }
            return(CommandBuilderHelpers.ReturnJsonModelState(ModelState));
        }