/// <summary>
        /// Creates the error response.
        /// </summary>
        /// <param name="request">The request.</param>
        /// <param name="requestDto">The request dto.</param>
        /// <param name="ex">The ex.</param>
        /// <returns></returns>
        public static HttpError CreateErrorResponse(global::ServiceStack.Web.IRequest request, object requestDto, Exception ex)
        {
            try
            {
                Core.Log.WebEasNLogExtensions.ExecuteUsingLogicalContext(() => LogError(ex), request.SessionAs <IWebEasSession>(), requestDto);

                WebEasResponseStatus errorResponse = CreateWebEasResponseStatus(ex, requestDto);
                #if DEBUG
                errorResponse.StackTrace = GetStackTrace(request, requestDto, ex);
                errorResponse.Errors     = GetErrors(ex, new List <ResponseError>());
                #endif
                return(new HttpError(errorResponse, GetStatusCode(ex), GetErrorCode(ex), errorResponse.Message));
            }
            catch (Exception exx)
            {
                // Trace.TraceInformation(exx.Message);
                return(new HttpError(exx, GetStatusCode(ex), GetErrorCode(ex), ex.Message));
            }
        }
        /// <summary>
        /// Creates the web eas response status.
        /// </summary>
        /// <param name="exception">The exception.</param>
        /// <param name="dto">The dto.</param>
        /// <returns></returns>
        public static WebEasResponseStatus CreateWebEasResponseStatus(Exception exception, object dto)
        {
            var errorResponse = new WebEasResponseStatus
            {
                Caption = GetCaption(exception)
            };

            errorResponse.Message = GetMessage(exception) ?? string.Format("Nastala interná chyba pri volaní {0}. Chyba bola zaevidovaná a zaslaná na spracovanie.", dto == null ? "unknown" : dto.GetType().Name);

            #if DEBUG
            if (exception is WebEasException && ((WebEasException)exception).HasDetailMessage)
            {
                errorResponse.DetailMessage = string.Format("{0} {1}{2}{3}", exception.GetExceptionTypeName(), exception.GetIdentifier(), Environment.NewLine, ((WebEasException)exception).DetailMessage);
            }
            else
            {
                errorResponse.DetailMessage = string.Format("{0} {1}{2}{3}", exception.GetExceptionTypeName(), exception.GetIdentifier(), Environment.NewLine, GetDetailMessage(exception, new StringBuilder()).ToString());
            }
            #else
            errorResponse.DetailMessage = "Kontaktujte Call Centrum s kódom : " + exception.GetIdentifier();
            #endif

            return(errorResponse);
        }