public TestListItemBuilder WithItem(TestListItemEntity entity)
 {
     var properties = entity.GetType().GetProperties();
     foreach(var item in properties)
     {
         if (item.Name != "Id")
         {
             var str = String.Format("'{0}':'{1}',", item.Name, item.GetValue(entity));
             strBuilder.Append(str);
         }
     }
     strBuilder.Remove(strBuilder.Length - 1, 1);
     strBuilder.Append("}");
     return this;
 }
        public void AddItem(TestListItemEntity entity)
        {
            var contextInfo = GetContextInfo();
            string itemPostBody = (new TestListItemBuilder()).WithType(entityType).WithItem(entity).Build();
            Byte[] itemPostData = System.Text.Encoding.ASCII.GetBytes(itemPostBody);

            var url = new TestListBuilder().FromList("Test List").WithAllItems().Build();
            HttpWebRequest request =
                (HttpWebRequest)HttpWebRequest.Create(url);
            request.Method = "POST";
            request.ContentLength = itemPostBody.Length;
            request.ContentType = "application/json;odata=verbose";
            request.Credentials = credentials;
            request.Accept = "application/json;odata=verbose";
            request.Headers.Add("X-FORMS_BASED_AUTH_ACCEPTED", "f");
            request.Headers.Add("X-RequestDigest", contextInfo.d.GetContextWebInformation.FormDigestValue);
            Stream itemRequestStream = request.GetRequestStream();

            itemRequestStream.Write(itemPostData, 0, itemPostData.Length);
            itemRequestStream.Close();

            HttpWebResponse itemResponse = (HttpWebResponse)request.GetResponse();
        }
        public IList<TestListItemEntity> GetAllItems()
        {
            var url = new TestListBuilder().FromList("Test List").WithAllItems().Build();
            HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
            request.Method = "GET";
            request.Accept = "application/json;odata=verbose";
            request.ContentType = "application/json;odata=verbose";
            request.Headers.Add("X-FORMS_BASED_AUTH_ACCEPTED", "f");
            request.Credentials = credentials;
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            StreamReader stream = new StreamReader(response.GetResponseStream());
            var testList = (TestList)JsonConvert.DeserializeObject<TestList>(stream.ReadLine());
            var result = new List<TestListItemEntity>();
            foreach(var item in testList.d.results)
            {
                var temp = new TestListItemEntity()
                {
                    Id = item.Id,
                    Title = item.Title,
                    Experience = item.Experience

                };
                result.Add(temp);
            }
            return result;
        }