Example #1
0
        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();
        }
Example #2
0
        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);
        }