private void AddSeatToRoom(LabelIdMapping labelIdMapping)
 {
     if (_seats.All(x => x.Id != labelIdMapping.Id))
         _seats.Add(labelIdMapping);
 }
        private IEnumerable<LabelIdMapping> PeekMessages(MessageQueue queue)
        {
            var counter = 0;

            using (var msgEnumerator = queue.GetMessageEnumerator2())
            {
                while (msgEnumerator.MoveNext(TimeSpan.FromMilliseconds(10)) && msgEnumerator.Current != null)
                {
                    counter++;
                    var labelId = new LabelIdMapping
                    {
                        Id = msgEnumerator.Current.Id,
                        Label = msgEnumerator.Current.Label
                    };

                    Dispatcher.Invoke(new Action<LabelIdMapping>(AddSeatToRoom), labelId);
                }
            }

            return (counter > 0) ? _seats : new List<LabelIdMapping>();
        }