using SptCommon.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( EventOutputHolder _eventOutputHolder ) { /// /// Handle AddToWishList /// /// /// /// /// public ItemEventRouterResponse AddToWishList( PmcData pmcData, AddToWishlistRequest request, string sessionId) { foreach (var item in request.Items) pmcData.WishList.Dictionary.Add(item.Key, item.Value); return _eventOutputHolder.GetOutput(sessionId); } /// /// Handle RemoveFromWishList event /// /// /// /// /// public ItemEventRouterResponse RemoveFromWishList( PmcData pmcData, RemoveFromWishlistRequest request, string sessionId) { foreach (var itemId in request.Items) pmcData.WishList.Dictionary.Remove(itemId); return _eventOutputHolder.GetOutput(sessionId); } /// /// Handle changeWishlistItemCategory event /// /// /// /// /// public ItemEventRouterResponse ChangeWishListItemCategory( PmcData pmcData, ChangeWishlistItemCategoryRequest request, string sessionId) { pmcData.WishList.Dictionary[request.Item] = request.Category.Value; return _eventOutputHolder.GetOutput(sessionId); } }