public IMessage Deserialize(Message message) { var parsedResult = JObject.Parse(message.Payload); var messageType = message.MessageType; var type = CommandTypeBasedOnName(messageType); var instance = (IMessage)parsedResult.ToObject(type, FuseJsonSerializer.CreateDefault()); return(instance); }
public Optional <T> Deserialize <T>(IReport report) { return(Obj.SelectMany( o => { try { return o.ToObject <T>(FuseJsonSerializer.CreateDefault()); } catch (Exception e) { report.Error("Failed to deserialize: " + e.Message); return Optional.None <T>(); } })); }