public IHttpActionResult PostAddEntry(fourm addFourm) { if (ModelState.IsValid) // model class validation ok? { // check for duplicate number var record = fourmPosts.SingleOrDefault(p => p.ID == addFourm.ID); if (record == null) { int id; if (fourmPosts.Count == 0) { id = 0; } else { id = fourmPosts[fourmPosts.Count - 1].ID + 1; } addFourm.ID = id; addFourm.Timestamp = DateTime.Now; fourmPosts.Add(addFourm); // commit // create http response with Created status code and listing serialised as content and Location header set to URI for new resource string uri = uri = Request.RequestUri.ToString() + "/id/" + id; return(Created(uri, addFourm)); } else { return(BadRequest("Post already exists")); } } else { return(BadRequest()); } }
public IHttpActionResult GetStockPrice(int id) { // LINQ query, find matching ticker (case-insensitive) or default value (null) if none matching fourm listing = fourmPosts.SingleOrDefault(l => l.ID == id); if (listing == null) { return(NotFound()); } return(Ok(listing)); }
public IHttpActionResult PutUpdatePost(fourm post) { if (ModelState.IsValid) { var record = fourmPosts.SingleOrDefault(p => p.ID == post.ID); if (record == null) { return(NotFound()); } else { record.Message = post.Message; record.Subject = post.Subject; record.Timestamp = DateTime.Now; //Update time to now return(Ok(record)); } } else { return(BadRequest(ModelState)); } }