public async Task <ActionResult> PostInventoryItem([FromBody] InventoryInModel inventoryModel) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } Vendor vendor = await _context.Vendors.SingleOrDefaultAsync(s => s.Name == inventoryModel.VendorName); if (vendor == null) { return(BadRequest()); } InventoryItem inventoryItem = new InventoryItem { Guid = new Guid(inventoryModel.Guid), SerialNo = inventoryModel.SerialNo, Quantity = inventoryModel.Quantity, QuantityAvailable = inventoryModel.QuantityAvailable, Title = inventoryModel.Title, Type = InventoryItem.GetItemType(inventoryModel.Type), Vendor = vendor }; _context.Items.Add(inventoryItem); await _context.SaveChangesAsync(); return(CreatedAtAction("GetInventoryItem", new { id = inventoryItem.Guid }, inventoryItem)); }
public async Task <ActionResult> PutInventoryItem([FromBody] Guid id, [FromBody] InventoryInModel inventoryModel) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } Vendor vendor = await _context.Vendors.SingleOrDefaultAsync(s => s.Name == inventoryModel.VendorName); InventoryItem inventoryItem = new InventoryItem { Guid = new Guid(inventoryModel.Guid), SerialNo = inventoryModel.SerialNo, Quantity = inventoryModel.Quantity, QuantityAvailable = inventoryModel.QuantityAvailable, Title = inventoryModel.Title, Type = InventoryItem.GetItemType(inventoryModel.Type), Vendor = vendor }; if (id != inventoryItem.Guid) { return(BadRequest()); } _context.Entry(inventoryItem).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!InventoryItemExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }