public void Put(int id, Contact newContact) { Contact contact = _contacts.GetContact(id); if (contact == null) { throw new HttpResponseException(HttpStatusCode.NotFound); } _contacts.UpdateContact(id, newContact); }
public Contact AddContact(Contact item) { item.Id = Interlocked.Increment(ref currentId); item.LastModified = DateTime.UtcNow; if (_contacts.TryAdd(item.Id, item)) { return item; } throw new InvalidOperationException(string.Format("Item with ID {0} cannot be added", item.Id)); }
public bool UpdateContact(int id, Contact item) { Contact oldValue; if (_contacts.TryGetValue(id, out oldValue)) { item.Id = id; item.LastModified = DateTime.UtcNow; return _contacts.TryUpdate(id, item, oldValue); } return false; }
/// <summary> /// Runs an HttpClient issuing sample requests against controller using AttributeRouting. /// </summary> static void RunClient() { HttpClient client = new HttpClient(); client.BaseAddress = _baseAddress; // Get all contacts HttpResponseMessage response = client.GetAsync("/contacts").Result; response.EnsureSuccessStatusCode(); string content = response.Content.ReadAsStringAsync().Result; Console.WriteLine("\nAll contacts returned: {0}", content); // Get contact with default id = 1 response = client.GetAsync("/contactOrDefault").Result; response.EnsureSuccessStatusCode(); content = response.Content.ReadAsStringAsync().Result; Console.WriteLine("\nContact with default value of id = 1: {0}", content); // Get contact with out of range id = 4 response = client.GetAsync("/contactRange/4").Result; content = response.Content.ReadAsStringAsync().Result; Console.WriteLine("\nContact with out of range id = 4: {0}", content); // Post new contact Contact contact = new Contact { Email = "*****@*****.**", Name = "new", Phone = "xxx xxx xxxx" }; response = client.PostAsJsonAsync("/contact", contact).Result; response.EnsureSuccessStatusCode(); content = response.Content.ReadAsStringAsync().Result; Console.WriteLine("\nNew contact: {0}", content); // Update contact response = client.PutAsJsonAsync("/contact/1", contact).Result; response.EnsureSuccessStatusCode(); Console.WriteLine("\nUpdated contact with id = 1 succeeded"); }
public Contact Post(Contact contact) { return _contacts.AddContact(contact); }