public async Task<string> Create(string name) { try { using (HttpClient httpClient = new HttpClient()) { httpClient.BaseAddress = new Uri(_resource); httpClient.Timeout = new TimeSpan(0, 2, 0); httpClient.DefaultRequestHeaders.Add("OData-MaxVersion", "4.0"); httpClient.DefaultRequestHeaders.Add("OData-Version", "4.0"); httpClient.DefaultRequestHeaders.Accept.Add( new MediaTypeWithQualityHeaderValue("application/json")); httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", _accessToken); //Create JObject newAccount = new JObject { {"name", name}, {"telephone1", "111-888-7777"} }; //The URL will change in 2016 to include the API version - api/data/v8.0/accounts HttpResponseMessage createResponse = await httpClient.SendAsJsonAsync(HttpMethod.Post, "api/data/accounts", newAccount); if (!createResponse.IsSuccessStatusCode) return null; string accountUri = createResponse.Headers.GetValues("OData-EntityId").FirstOrDefault(); return accountUri != null ? Guid.Parse(accountUri.Split('(', ')')[1]).ToString() : null; } } catch (Exception ex) { ShowException(ex); return null; } }
public async Task<string> Update(string accountId) { try { using (HttpClient httpClient = new HttpClient()) { httpClient.BaseAddress = new Uri(_resource); httpClient.Timeout = new TimeSpan(0, 2, 0); httpClient.DefaultRequestHeaders.Add("OData-MaxVersion", "4.0"); httpClient.DefaultRequestHeaders.Add("OData-Version", "4.0"); httpClient.DefaultRequestHeaders.Accept.Add( new MediaTypeWithQualityHeaderValue("application/json")); httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", _accessToken); //Update JObject account = new JObject { {"websiteurl", "http://www.microsoft.com"} }; //The URL will change in 2016 to include the API version - api/data/v8.0/accounts HttpResponseMessage updateResponse = await httpClient.SendAsJsonAsync(new HttpMethod("PATCH"), "api/data/accounts(" + accountId + ")", account); return updateResponse.IsSuccessStatusCode ? accountId : null; } } catch (Exception ex) { ShowException(ex); return null; } }
private async void CloseTask(string taskId) { JObject task = new JObject { { "statecode", 1 }, { "statuscode", 5 } }; using (HttpClient httpClient = new HttpClient()) { httpClient.BaseAddress = new Uri(ServiceUrl); httpClient.Timeout = new TimeSpan(0, 2, 0); httpClient.DefaultRequestHeaders.Add("OData-MaxVersion", "4.0"); httpClient.DefaultRequestHeaders.Add("OData-Version", "4.0"); httpClient.DefaultRequestHeaders.Accept.Add( new MediaTypeWithQualityHeaderValue("application/json")); httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", NSUserDefaults.StandardUserDefaults.StringForKey("AccessToken")); HttpResponseMessage closeResponse = await httpClient.SendAsJsonAsync(new HttpMethod("PATCH"), "api/data/tasks(" + taskId + ")", task); if (!closeResponse.IsSuccessStatusCode) return; } }