Ejemplo n.º 1
0
        public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
        {
            var        obj = JObject.Load(reader);
            OrderModel orderModel;

            var type = obj["Type"];

            if (type == null)
            {
                throw new ArgumentNullException("Type", "Order type is null");
            }

            string orderType = type.Value <string>();

            orderModel = OrderTypeResolver.CreateOrderInstance(orderType);

            serializer.Populate(obj.CreateReader(), orderModel);
            return(orderModel);
        }