// add a stock listing static async Task AddAsync(string cnumber, int rlevel) { try { using (HttpClient client = new HttpClient()) { client.BaseAddress = new Uri("http://x00077517.cloudapp.net/"); // base URL for API Controller i.e. RESTFul service // add an Accept header for JSON - preference for response client.DefaultRequestHeaders. Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); // POST /api/CreditCard with a listing serialised in request body // create a new credit card CreditCardItem newCard = new CreditCardItem { Number = cnumber, RiskLevel = rlevel }; HttpResponseMessage response = await client.PostAsJsonAsync("api/CreditCard", newCard); // or PostAsXmlAsync if (response.IsSuccessStatusCode) // 200 .. 299 { Uri newCardUri = response.Headers.Location; var card = await response.Content.ReadAsAsync<CreditCardItem>(); } else { Console.WriteLine(response.StatusCode + " " + response.ReasonPhrase); } } } catch (Exception e) { Console.WriteLine(e.ToString()); } }
public CreditCardItem AddCard(CreditCardItem item) { item.Id = ObjectId.GenerateNewId().ToString(); _creditCards.Insert(item); return item; }
// POST api/CreditCard/{id} public void Update(string id, CreditCardItem value) { // check if given RiskValue is in range if (value.RiskLevel < 1 || value.RiskLevel > 3) { throw new HttpResponseException(HttpStatusCode.BadRequest); } // check if card number was given if (string.IsNullOrEmpty(value.Number)) { throw new HttpResponseException(HttpStatusCode.BadRequest); } if (!_cards.UpdateCard(id, value)) { throw new HttpResponseException(HttpStatusCode.NotFound); } }
// POST api/CreditCard public CreditCardItem AddCard(CreditCardItem value) { // check if given RiskValue is in range if (value.RiskLevel < 1 || value.RiskLevel > 3) { throw new HttpResponseException(HttpStatusCode.BadRequest); } // check if card number was given if (string.IsNullOrEmpty(value.Number)) { throw new HttpResponseException(HttpStatusCode.BadRequest); } CreditCardItem card = _cards.AddCard(value); return card; }
// update a stock listing static async Task UpdateAsync(string id, string cnumber_new, int rlevel_new) { try { using (HttpClient client = new HttpClient()) { client.BaseAddress = new Uri("http://x00077517.cloudapp.net/"); CreditCardItem card = new CreditCardItem() { Number = cnumber_new, RiskLevel = rlevel_new }; // update by Put to /api/CreditCard/{id} a listing serialised in request body HttpResponseMessage response = await client.PostAsJsonAsync("api/CreditCard/" + id, card); if (!response.IsSuccessStatusCode) { Console.WriteLine(response.StatusCode + " " + response.ReasonPhrase); } } } catch (Exception e) { Console.WriteLine(e.ToString()); } }
public bool UpdateCard(string id, CreditCardItem item) { IMongoQuery query = Query.EQ("_id", id); IMongoUpdate update = Update .Set("Number", item.Number) .Set("RiskLevel", item.RiskLevel); SafeModeResult result = _creditCards.Update(query, update); return result.UpdatedExisting; }