示例#1
0
        public virtual void GivenDefaultCustomer()
        {
            var responseCustomers = this._client.GetAsync("/customers/lite").Result;
            var customers         = HttpClientExtension.ParseHttpContentToList <Dictionary <string, object> >(responseCustomers.Content);
            var defaultCustomer   = customers.FirstOrDefault(c => c.Where(d => d.Key == "name" && (string)d.Value == "Default Customer").Count() > 0);

            if (defaultCustomer == null)
            {
                var jsonContent = HttpClientExtension.ParseModelToHttpContent(new
                {
                    Name = "Default Customer"
                });
                var result = this._client.PostAsync("/customers", jsonContent).Result;
                if (!result.IsSuccessStatusCode)
                {
                    throw new ApplicationException(result.Content.ReadAsStringAsync().Result);
                }

                var customerModel = HttpClientExtension.ParseHttpContentToModel <Dictionary <string, object> >(result.Content);
                this.DefaultCustomerId = Convert.ToInt32(customerModel["id"]);
            }
            else
            {
                this.DefaultCustomerId = Convert.ToInt32(defaultCustomer["id"]);
            }
        }