Exemplo n.º 1
0
        protected override List <ErrorViewModel> GetLocalizedErrors(HttpActionExecutedContext context)
        {
            var aggregateException = context.Exception as AggregateException;

            if (aggregateException == null)
            {
                return(new List <ErrorViewModel>());
            }

            var innerExceptions = aggregateException.Flatten().InnerExceptions;

            if (!innerExceptions.All(e => e is ComposerException))
            {
                return(new List <ErrorViewModel>());
            }

            var query = from exception in innerExceptions.OfType <ComposerException>()
                        from error in exception.Errors
                        let localizedErrorMessage = LocalizationProvider.GetLocalizedErrorMessage(error.ErrorCode, Context.CultureInfo)
                                                    select new ErrorViewModel
            {
                ErrorCode             = error.ErrorCode,
                ErrorMessage          = error.ErrorMessage,
                LocalizedErrorMessage = localizedErrorMessage
            };

            return(query.ToList());
        }
Exemplo n.º 2
0
        protected override List <ErrorViewModel> GetLocalizedErrors(HttpActionExecutedContext context)
        {
            var composerException = context.Exception as ComposerException;

            if (composerException == null)
            {
                return(new List <ErrorViewModel>());
            }

            var query = from error in composerException.Errors
                        let localizedErrorMessage = LocalizationProvider.GetLocalizedErrorMessage(error.ErrorCode, Context.CultureInfo)
                                                    select new ErrorViewModel
            {
                ErrorCode             = error.ErrorCode,
                ErrorMessage          = error.ErrorMessage,
                LocalizedErrorMessage = localizedErrorMessage
            };

            return(query.ToList());
        }