async public Task <List <int[]> > Index()
        {
            var userId = await UserAccessor.GetCurrentIndividualId();

            var giftsWithReceivers = AccessControlService.GetVisibleGiftReceiverPairs(userId);

            return(await giftsWithReceivers.ToListAsync());
        }
        async public Task <IActionResult> Delete(int giftId, int receiverId)
        {
            var userId = await UserAccessor.GetCurrentIndividualId();

            var response = GiftReceiverService.RemoveGiftReceiver(userId, giftId, receiverId);

            if (response == ServiceResponseStatus.Sucess)
            {
                await DbContext.SaveChangesAsync();
            }
            return(Ok());
        }
        async public Task <IActionResult> PostUpdates(GiftReceiverUpdate[] updates)
        {
            var userId = await UserAccessor.GetCurrentIndividualId();

            foreach (var update in updates)
            {
                if (update.Operation == "Add")
                {
                    Logger.LogInformation("added");
                    GiftReceiverService.AddGiftReceiver(userId, update.GiftId, update.ReceiverId);
                }

                if (update.Operation == "Remove")
                {
                    Logger.LogInformation("removed");
                    GiftReceiverService.RemoveGiftReceiver(userId, update.GiftId, update.ReceiverId);
                }
            }
            await DbContext.SaveChangesAsync();

            return(Ok());
        }