public async Task <Models.Public.Response.Item> UpdateItem(Models.Public.Request.Item item, long userID) { var user = _context.Users.Find(userID); var family = _context.Families.Where(q => q.members.Contains(user)).FirstOrDefault(); Console.WriteLine("ITEM ID: " + item.itemID); Console.WriteLine("ITEM title: " + item.title); Console.WriteLine("ITEM desc: " + item.description); var existingItem = _context.ListItems.Where(q => q.itemID == item.itemID).FirstOrDefault(); if (existingItem != null) { Console.WriteLine("Existing Item not null"); var list = family.lists.Where(q => q.listID == item.listID).FirstOrDefault(); if (list != null) { // FIXME: The existing item isn't being updated, rather a new item is being created... existingItem = item.ToDatabase(user, list); _context.ListItems.Update(existingItem); await _context.SaveChangesAsync(); return(existingItem.ToPublic()); } } Console.WriteLine("Something failed"); return(null); }
public async Task <ActionResult <Models.Public.Response.Item> > PutListItem([FromBody] Models.Public.Request.Item item) { var updatedItem = await _service.UpdateItem(item, getID()); if (updatedItem != null) { return(Ok(updatedItem)); } return(BadRequest()); }
public async Task <ActionResult <Models.Public.Response.Item> > PostListItem([FromBody] Models.Public.Request.Item item) { var newItem = await _service.AddItem(item, getID()); if (newItem != null) { return(new CreatedResult("/api/item/" + newItem.itemID, newItem)); } return(BadRequest()); }
public async Task <Models.Public.Response.Item> AddItem(Models.Public.Request.Item item, long userID) { var user = _context.Users.Find(userID); var family = _context.Families.Where(q => q.members.Contains(user)).FirstOrDefault(); if (family != null) { var list = family.lists.Where(q => q.listID == item.listID).FirstOrDefault(); if (list != null) { var dbItem = item.ToDatabase(user, list); _context.ListItems.Add(dbItem); await _context.SaveChangesAsync(); return(dbItem.ToPublic()); } } return(null); }