Beispiel #1
0
 /*
  * Update a TaskList
  *
  * @param: TaskListInserted : a callback
  * @param: t : TaskList
  */
 public void UpdateTaskList(Action<IRestResponse<TaskList>> TaskListUpdated, TaskList t)
 {
     _oAuth.GetAccessCode(access_token =>
     {
         lock (_sync)
         {
             _requesting++;
             // building request
             _client.Authenticator = new OAuth2AuthorizationRequestHeaderAuthenticator(access_token);
             var request = new RestRequest("/tasks/v1/users/@me/lists/" + t.Id, Method.PUT);
             // serialize TaskList
             string taskListJson = JsonConvert.SerializeObject(t, Formatting.None, _serializerSettings);
             request.AddParameter("application/json; charset=utf-8", taskListJson, ParameterType.RequestBody);
             LaunchTimer();
             _client.ExecuteAsync<TaskList>(request, response =>
             {
                 lock (_sync)
                 {
                     _requesting--;
                     // handle request's callback
                     if (response.Data != null)
                     {
                         // update Tasklist by removing/adding
                         foreach (TaskList _t in _taskLists)
                         {
                             if (!t.Id.Equals(_t.Id)) continue;
                             _taskLists.Remove(_t);
                             _taskLists.Add(response.Data);
                             break;
                         }
                     }
                     if (TaskListUpdated != null) TaskListUpdated(response);
                 }
             });
         }
     });
 }
Beispiel #2
0
 /*
  * Insert a TaskList
  *
  * @param: TaskListInserted : a callback
  * @param: t : TaskList
  */
 public void InsertTaskList(Action<IRestResponse<TaskList>> TaskListInserted, TaskList t)
 {
     _oAuth.GetAccessCode(access_token =>
     {
         lock (_sync)
         {
             _requesting++;
             // building request
             _client.Authenticator = new OAuth2AuthorizationRequestHeaderAuthenticator(access_token);
             var request = new RestRequest("/tasks/v1/users/@me/lists", Method.POST);
             // serialize TaskList
             string taskListJson = JsonConvert.SerializeObject(t, Formatting.None, _serializerSettings);
             request.AddParameter("application/json; charset=utf-8", taskListJson, ParameterType.RequestBody);
             LaunchTimer();
             _client.ExecuteAsync<TaskList>(request, response =>
             {
                 lock (_sync)
                 {
                     _requesting--;
                     // handle request's callback - adding the taskList
                     if (response.Data != null && _taskLists != null)
                         _taskLists.Add(response.Data);
                     if (TaskListInserted != null) TaskListInserted(response);
                 }
             });
         }
     });
 }