public async Task<AsyncResult<string>> SaveAsync(Product product) { var token = authStore.LoadToken(); using (var client = new BearerHttpClient(token.AccessToken)) { var data = JsonConvert.SerializeObject(product); using (var content = new StringContent(data, Encoding.UTF8, "application/json")) { if (product.Id == null) { var uri = new Uri("api/products/", UriKind.Relative); var resp = await client.PostAsync(uri, content); if (resp.StatusCode == HttpStatusCode.Created) { var id = await resp.Content.ReadAsStringAsync(); return new AsyncResult<string> { Result = id, Succeed = true }; } } else { var uri = new Uri(string.Concat("api/products/", product.Id), UriKind.Relative); var resp = await client.PutAsync(uri, content); if (resp.StatusCode == HttpStatusCode.OK) { return new AsyncResult<string> { Result = product.Id, Succeed = true }; } } } } return new AsyncResult<string>(); }
public async Task<AsyncResult> UpdatePrice(ProductPriceUpdate[] prices) { var succeed = false; var token = authStore.LoadToken(); using (var client = new BearerHttpClient(token.AccessToken)) { var data = JsonConvert.SerializeObject(prices); using (var content = new StringContent(data, Encoding.UTF8, "application/json")) { var uri = new Uri("api/products/updatePrice", UriKind.Relative); var resp = await client.PutAsync(uri, content); if (resp.StatusCode == HttpStatusCode.OK) { succeed = true; } } } return new AsyncResult { Succeed = succeed }; }
public async Task<AsyncResult> UpdateUser(User user) { var result = new AsyncResult(); var token = authStore.LoadToken(); using (var client = new BearerHttpClient(token.AccessToken)) { var data = JsonConvert.SerializeObject(user); using (var content = new StringContent(data, Encoding.UTF8, "application/json")) { var uri = new Uri("api/users", UriKind.Relative); using (var resp = await client.PutAsync(uri, content)) { if (resp.StatusCode == HttpStatusCode.OK) { result.Succeed = true; } } } } return result; }