diff --git a/AccessQueueService/Data/TakeANumberAccessQueueRepo.cs b/AccessQueueService/Data/TakeANumberAccessQueueRepo.cs index 28c2a0e..9527ba7 100644 --- a/AccessQueueService/Data/TakeANumberAccessQueueRepo.cs +++ b/AccessQueueService/Data/TakeANumberAccessQueueRepo.cs @@ -67,6 +67,7 @@ namespace AccessQueueService.Data if (_accessQueue.TryGetValue(_nowServing, out var nextUser)) { _accessQueue.Remove(_nowServing); + _queueNumbers.Remove(nextUser.UserId); _nowServing++; if (nextUser.LastActive < activeCutoff) { @@ -81,10 +82,6 @@ namespace AccessQueueService.Data }; filledSpots++; } - else - { - break; - } } return filledSpots == openSpots; } @@ -101,6 +98,11 @@ namespace AccessQueueService.Data bool IAccessQueueRepo.RemoveUser(Guid userId) { + if(_queueNumbers.TryGetValue(userId, out var queueNumber)) + { + _accessQueue.Remove(queueNumber); + _queueNumbers.Remove(userId); + } return _accessTickets.Remove(userId); } }