public async Task <DequeuePositionResult> RemoveFromQueue(DequeuePosition item) { if (item is null) { throw new ArgumentNullException(nameof(item)); } try { QueueItem nextItem = await _repository.GetNextItem(item.ServiceType); if (nextItem is null) { return(null); } return(new DequeuePositionResult { CustomerID = nextItem.UserID, CustomerNumberInQueue = nextItem.UserNumber }); } catch (Exception e) { return(null); } }