public IHttpActionResult PostGridItem(int gridId, int itemTypeId, int xCoord, int yCoord, string name) { // Retrieve the max id //var id = db.GridItems.Max(x => x.Id) + 1; //var gridItemToAdd = db.GridItems.Where(x => x.Id == 10 && x.xCoord == xCoord && x.yCoord == yCoord && x.Name == name).FirstOrDefault(); var gridItemToDelete = db.GridItems.Where(x => x.Id == gridId && x.xCoord == xCoord && x.yCoord == yCoord).FirstOrDefault(); if (gridItemToDelete != null) { db.GridItems.Remove(gridItemToDelete); db.SaveChanges(); } //if (gridItemToAdd == null) { GridItem gridItem = new GridItem { //Id = id, GridId = gridId, ItemTypeId = itemTypeId, xCoord = xCoord, yCoord = yCoord, Name = name }; if (!ModelState.IsValid) { return BadRequest(ModelState); } db.GridItems.Add(gridItem); db.SaveChanges(); } // return CreatedAtRoute("DefaultApi", new { id = gridItem.Id }, gridItem); return Ok(); }
public IHttpActionResult PutGridItem(int id, GridItem gridItem) { if (!ModelState.IsValid) { return BadRequest(ModelState); } if (id != gridItem.Id) { return BadRequest(); } db.Entry(gridItem).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!GridItemExists(id)) { return NotFound(); } else { throw; } } return StatusCode(HttpStatusCode.NoContent); }