예제 #1
0
        protected Product Deserialize(Response response)
        {
            if (response.StatusCode != HttpStatusCode.OK)
                throw Error("Unexpected status returned.", response);

            var json = ReadAll(response);

            var productJson = new Deserializer().Deserialize(json)["product"];
            return ProductDeserializer.Deserialize(productJson.ToString());
        }
예제 #2
0
        public Order Create(String reference, Option shippingOption, NameAndAddress shipTo, ProductShippingInfo product)
        {
            var uri = Map("/orders");

            var payload = new Payload {
                new Field { Name = "ref", Value = reference },
                new Field { Name = "shipping_option_code", Value = shippingOption.Code },
            };

            payload.AddRange(Format(product));
            payload.AddRange(Format(shipTo));

            var response = Post(uri, payload);

            if (response.StatusCode != HttpStatusCode.OK)
                throw Error("Failed to create order", response);

            var json = ReadAll(response);

            var theOrderNode = new Deserializer().Deserialize(json)["order"];

            return OrderDeserializer.Deserialize(theOrderNode.ToString());
        }