From 1854ac4e2b527369ab4869cad0bfe65698479671 Mon Sep 17 00:00:00 2001 From: Chomp Date: Sun, 12 Jan 2025 15:31:41 +0000 Subject: [PATCH] Improved `WishlistController` implementation --- Core/Controllers/WishlistController.cs | 27 +++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/Core/Controllers/WishlistController.cs b/Core/Controllers/WishlistController.cs index 760a3a8b..8f7abdfc 100644 --- a/Core/Controllers/WishlistController.cs +++ b/Core/Controllers/WishlistController.cs @@ -2,12 +2,21 @@ using Core.Annotations; using Core.Models.Eft.Common; using Core.Models.Eft.ItemEvent; using Core.Models.Eft.Wishlist; +using Core.Routers; namespace Core.Controllers; [Injectable] public class WishlistController { + private readonly EventOutputHolder _eventOutputHolder; + + public WishlistController( + EventOutputHolder eventOutputHolder) + { + _eventOutputHolder = eventOutputHolder; + } + /// /// Handle AddToWishList /// @@ -20,7 +29,12 @@ public class WishlistController AddToWishlistRequest request, string sessionId) { - throw new NotImplementedException(); + foreach (var item in request.Items) + { + pmcData.WishList.Add(item.Key, item.Value); + } + + return _eventOutputHolder.GetOutput(sessionId); } /// @@ -35,7 +49,12 @@ public class WishlistController RemoveFromWishlistRequest request, string sessionId) { - throw new NotImplementedException(); + foreach (var itemId in request.Items) + { + pmcData.WishList.Remove(itemId); + } + + return _eventOutputHolder.GetOutput(sessionId); } /// @@ -50,6 +69,8 @@ public class WishlistController ChangeWishlistItemCategoryRequest request, string sessionId) { - throw new NotImplementedException(); + pmcData.WishList[request.Item] = request.Category.Value; + + return _eventOutputHolder.GetOutput(sessionId); } }