public override object Deserialize(IDictionary <string, object> dictionary, Type type, JavaScriptSerializer serializer) { WfClientDynamicResourceDescriptor conditionResourceDesp = (WfClientDynamicResourceDescriptor)base.Deserialize(dictionary, type, serializer); conditionResourceDesp.Name = dictionary.GetValue("name", string.Empty); conditionResourceDesp.Condition = JSONSerializerExecute.Deserialize <WfClientConditionDescriptor>(dictionary.GetValue("condition", (object)null)); return(conditionResourceDesp); }
public override IDictionary <string, object> Serialize(object obj, JavaScriptSerializer serializer) { WfClientDynamicResourceDescriptor conditionResourceDesp = (WfClientDynamicResourceDescriptor)obj; IDictionary <string, object> dictionary = base.Serialize(obj, serializer); dictionary.AddNonDefaultValue("name", conditionResourceDesp.Name); dictionary.AddNonDefaultValue("condition", conditionResourceDesp.Condition); return(dictionary); }
public static void AreSame(this WfClientDynamicResourceDescriptor expected, WfClientDynamicResourceDescriptor actual) { if (expected != null && actual != null) { AssertStringEqual(expected.Name, actual.Name); expected.Condition.AreSame(actual.Condition); } else { Assert.AreEqual(expected, actual); } }
public void DynamicResourceJsonConverterTest() { WfClientJsonConverterHelper.Instance.RegisterConverters(); WfClientDynamicResourceDescriptor resource = new WfClientDynamicResourceDescriptor("ConditionResource", "Amount > 1000"); string data = JSONSerializerExecute.Serialize(resource); Console.WriteLine(data); WfClientDynamicResourceDescriptor deserialized = JSONSerializerExecute.Deserialize <WfClientDynamicResourceDescriptor>(data); resource.AreSame(deserialized); }
public override void ServerToClient(WfResourceDescriptor server, ref WfClientResourceDescriptor client) { server.NullCheck("server"); WfDynamicResourceDescriptor serverDynRes = (WfDynamicResourceDescriptor)server; if (client == null) { client = new WfClientDynamicResourceDescriptor(serverDynRes.Name, serverDynRes.Condition.Expression); } else { WfClientDynamicResourceDescriptor clientDynRes = (WfClientDynamicResourceDescriptor)client; clientDynRes.Name = serverDynRes.Name; clientDynRes.Condition.Expression = serverDynRes.Condition.Expression; } }
public override void ClientToServer(WfClientResourceDescriptor client, ref WfResourceDescriptor server) { client.NullCheck("client"); WfClientDynamicResourceDescriptor clientDynRes = (WfClientDynamicResourceDescriptor)client; if (server == null) { server = new WfDynamicResourceDescriptor(clientDynRes.Name, clientDynRes.Condition.Expression); } else { WfDynamicResourceDescriptor serverDynRes = (WfDynamicResourceDescriptor)server; serverDynRes.Name = clientDynRes.Name; serverDynRes.Condition.Expression = clientDynRes.Condition.Expression; } }