From c3bb769934611adb86980e2e6941f75a7c489a0c Mon Sep 17 00:00:00 2001 From: "J. D" Date: Fri, 18 Aug 2023 15:47:37 -0500 Subject: [PATCH] ContentController.cs: Handle CommonInventoryRequests in CreatePet (#20) --- src/Controllers/Common/ContentController.cs | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/Controllers/Common/ContentController.cs b/src/Controllers/Common/ContentController.cs index 2bd7ebf..137dc8e 100644 --- a/src/Controllers/Common/ContentController.cs +++ b/src/Controllers/Common/ContentController.cs @@ -388,7 +388,20 @@ public class ContentController : Controller { ctx.Images.Add(image); ctx.SaveChanges(); - // TODO: handle CommonInventoryRequests here too + if (raisedPetRequest.CommonInventoryRequests is not null) { + foreach (var req in raisedPetRequest.CommonInventoryRequests) { + InventoryItem? item = viking.Inventory.InventoryItems.FirstOrDefault(e => e.ItemId == req.ItemID); + + //Does the item exist in the user's inventory? + if (item is null) continue; //If not, skip it. + + if (item.Quantity + req.Quantity >= 0 ) { //If so, can we update it appropriately? + //We can. Do so. + item.Quantity += req.Quantity; //Note that we use += here because req.Quantity is negative. + ctx.SaveChanges(); + } + } + } return Ok(new CreatePetResponse { RaisedPetData = GetRaisedPetDataFromDragon(dragon)