Exemple #1
0
        /// <summary>
        /// DELETE /tables/TodoItem/{id}
        /// </summary>
        public static void DeleteTodo(Task t)
        {
            WebClient client = new WebClient();
            try {
                // make it synchronous
                client.Headers.Add (HttpRequestHeader.Accept, "application/json");
                client.Headers.Add (HttpRequestHeader.ContentType, "application/json");
                client.Headers.Add ("X-ZUMO-APPLICATION", MobileServiceAppId);

                var payload = t.ToJson ();
                var response = client.UploadString (String.Format (DeleteUrl,t.Id), "DELETE", payload); // DELETE
                // ...and wait...
                var responseString = response;

                //var responseJson = JsonValue.Parse (responseString); //HACK:
                Console.WriteLine ("Delete Json response => " + responseString);

            } catch (System.Net.WebException e) {
                Console.WriteLine ("X-ZUMO-APPLICATION add failed" + e.Message);
            }
        }
Exemple #2
0
        /// <summary>
        /// POST /tables/TodoItem
        /// {"text":"new task text","complete":false}
        /// </summary>
        public static Task AddTodo(Task t)
        {
            WebClient client = new WebClient();
            try {
                // make it synchronous
                client.Headers.Add (HttpRequestHeader.Accept, "application/json");
                client.Headers.Add (HttpRequestHeader.ContentType, "application/json");
                client.Headers.Add ("X-ZUMO-APPLICATION", MobileServiceAppId);

                var payload = t.ToJson ();
                var response = client.UploadString (AddUrl, "POST", payload); // PATCH
                // ...and wait...
                var responseString = response;
                // RETURNS [{"id":1,"text":"Port to iOS and Android","complete":false}]
                Console.WriteLine ("Add Json response => " + responseString);

            //				var responseJson = JsonValue.Parse (responseString);
            //				return new Task(responseJson);

            } catch (System.Net.WebException e) {
                Console.WriteLine ("X-ZUMO-APPLICATION add failed" + e.Message);
            }
            return null;
        }
Exemple #3
0
        /// <summary>
        /// GET /tables/TodoItem
        /// </summary>
        public static List<Task> LoadTodos(Action<List<Task>> whenDone)
        {
            var tasks = new List<Task>();
            WebClient client = new WebClient();
            try {
                // make it synchronous
                client.Headers.Add (HttpRequestHeader.Accept, "application/json");
                client.Headers.Add ("X-ZUMO-APPLICATION", MobileServiceAppId);
                var response = client.DownloadData (GetAllUrl); // GET
                // ...and wait...
                var responseString = System.Text.Encoding.UTF8.GetString(response);
                // RETURNS [{"id":1,"text":"Port to iOS and Android","complete":false}]

                var deser = new JavaScriptSerializer ();
                var obj = deser.DeserializeObject (responseString) as Object[];

                if (obj != null)
                {
                    tasks = new List<Task>();
                    foreach (var t in obj)
                    {
                        var task = new Task(t);
                        tasks.Add (task);
                    }
                    whenDone(tasks);  // hacky to keep doing this...?
                }

                Console.WriteLine ("Json response => " + responseString);

            } catch (System.Net.WebException e) {
                Console.WriteLine ("X-ZUMO-APPLICATION failed" + e.Message);
            }
            return tasks;
        }