/// <summary> /// Converts the <paramref name="serializableError"/> to an <see cref="ODataError"/>. /// </summary> /// <param name="httpserializableErrorError">The <see cref="SerializableError"/> instance to convert.</param> /// <returns>The converted <see cref="ODataError"/></returns> public static ODataError CreateODataError(this SerializableError serializableError) { if (serializableError == null) { throw Error.ArgumentNull("serializableError"); } return(new ODataError { Message = serializableError.GetPropertyValue <string>(SerializableErrorKeys.MessageKey), ErrorCode = serializableError.GetPropertyValue <string>(SerializableErrorKeys.ErrorCodeKey), InnerError = ToODataInnerError(serializableError) }); }
/// <summary> /// Converts the <paramref name="serializableError"/> to an <see cref="ODataError"/>. /// </summary> /// <param name="serializableError">The <see cref="SerializableError"/> instance to convert.</param> /// <returns>The converted <see cref="ODataError"/></returns> public static ODataError CreateODataError(this SerializableError serializableError) { if (serializableError == null) { throw Error.ArgumentNull("serializableError"); } string message = serializableError.GetPropertyValue <string>(SerializableErrorKeys.MessageKey); string details = ConvertModelStateErrors(serializableError); return(new ODataError { Message = string.IsNullOrEmpty(message) ? details : message, ErrorCode = serializableError.GetPropertyValue <string>(SerializableErrorKeys.ErrorCodeKey), InnerError = ToODataInnerError(serializableError), Details = serializableError .Select(kvp => new ODataErrorDetail() { Message = kvp.Key + ":" + kvp.Value, }) .AsCollection(), }); }
/// <summary> /// Converts the <paramref name="serializableError"/> to an <see cref="ODataError"/>. /// </summary> /// <param name="httpserializableErrorError">The <see cref="SerializableError"/> instance to convert.</param> /// <returns>The converted <see cref="ODataError"/></returns> public static ODataError CreateODataError(this SerializableError serializableError) { if (serializableError == null) { throw Error.ArgumentNull("serializableError"); } return(new ODataError { Message = JsonConvert.SerializeObject(serializableError.Values),//serializableError.GetPropertyValue<string>(SerializableErrorKeys.MessageKey), ErrorCode = serializableError.GetPropertyValue <string>(SerializableErrorKeys.ErrorCodeKey), InnerError = ToODataInnerError(serializableError), Details = ConvertModelStateErrorItems(serializableError) }); }
private static ODataInnerError ToODataInnerError(SerializableError serializableError) { string innerErrorMessage = serializableError.GetPropertyValue <string>(SerializableErrorKeys.ExceptionMessageKey); if (innerErrorMessage == null) { string messageDetail = serializableError.GetPropertyValue <string>(SerializableErrorKeys.MessageDetailKey); if (messageDetail == null) { SerializableError modelStateError = serializableError.GetPropertyValue <SerializableError>(SerializableErrorKeys.ModelStateKey); return((modelStateError == null) ? null : new ODataInnerError { Message = ConvertModelStateErrors(modelStateError) }); } else { return(new ODataInnerError() { Message = messageDetail }); } } else { ODataInnerError innerError = new ODataInnerError(); innerError.Message = innerErrorMessage; innerError.TypeName = serializableError.GetPropertyValue <string>(SerializableErrorKeys.ExceptionTypeKey); innerError.StackTrace = serializableError.GetPropertyValue <string>(SerializableErrorKeys.StackTraceKey); SerializableError innerExceptionError = serializableError.GetPropertyValue <SerializableError>(SerializableErrorKeys.InnerExceptionKey); if (innerExceptionError != null) { innerError.InnerError = ToODataInnerError(innerExceptionError); } return(innerError); } }