Commit 5b5fafcc authored by Savorboard's avatar Savorboard

add helper method.

parent 8e107693
...@@ -46,6 +46,7 @@ namespace DotNetCore.CAP.Infrastructure ...@@ -46,6 +46,7 @@ namespace DotNetCore.CAP.Infrastructure
return (long)elapsedTime.TotalSeconds; return (long)elapsedTime.TotalSeconds;
} }
public static DateTime FromTimestamp(long value) public static DateTime FromTimestamp(long value)
{ {
// ReSharper disable once ImpureMethodCallOnReadonlyValueField // ReSharper disable once ImpureMethodCallOnReadonlyValueField
...@@ -72,24 +73,38 @@ namespace DotNetCore.CAP.Infrastructure ...@@ -72,24 +73,38 @@ namespace DotNetCore.CAP.Infrastructure
return !CanConvertFromString(type); return !CanConvertFromString(type);
} }
public static string AddJsonProperty(string json, IList<KeyValuePair<string, string>> properties) public static JObject ToJObject(Exception exception)
{ {
var jObj = JObject.Parse(json); return new JObject(new
foreach (var property in properties)
{ {
if (jObj.TryGetValue(property.Key, out var _)) Source = exception.Source,
Message = exception.Message,
InnerMessage = exception.InnerException?.Message
});
}
public static string AddJsonProperty(string json, string propertyName, JObject propertyValue)
{ {
jObj[property.Key] = property.Value; var jObj = JObject.Parse(json);
if (jObj.TryGetValue(propertyName, out var _))
{
jObj[propertyName] = propertyValue;
} }
else else
{ {
jObj.Add(new JProperty(property.Key, property.Value)); jObj.Add(new JProperty(propertyName, propertyValue));
}
} }
return jObj.ToString(); return jObj.ToString();
} }
public static string AddExceptionProperty(string json, Exception exception)
{
var jObject = ToJObject(exception);
return AddJsonProperty(json, "ExceptionMessage", jObject);
}
private static bool CanConvertFromString(Type destinationType) private static bool CanConvertFromString(Type destinationType)
{ {
destinationType = Nullable.GetUnderlyingType(destinationType) ?? destinationType; destinationType = Nullable.GetUnderlyingType(destinationType) ?? destinationType;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment