Example #1
0
        /// <summary>
        /// add the new object in queue.
        /// </summary>
        /// <param name="NewItem"></param>
        public void PushItem(QueueItem NewItem)
        {
            //if (items.Contains(NewItem))
            //  return;
            //      OnAddMessages?.Invoke(this, 1);



            switch (QueueMode)
            {
            case QueueModes.Queue:
                items.AddLast(NewItem);
                break;

            case QueueModes.Stack:
                items.AddFirst(NewItem);
                break;
            }
            lastPushedId = NewItem.IdNum;
            OnAddMessages?.Invoke(this, 1);
        }
Example #2
0
        /// <summary>
        /// add the new object in queue.
        /// </summary>
        /// <param name="newItems"></param>
        public void PushItem(List <QueueItem> newItems)
        {
            //LinkedList<QueueItem> ListOfObjects = new LinkedList<YourObjectType>(YourObjectArray);
            //if (items.Contains(NewItem))
            //  return;

            switch (QueueMode)
            {
            case QueueModes.Queue:
                foreach (var line in newItems)
                {
                    items.AddLast(line);
                }
                break;

            case QueueModes.Stack:
                foreach (var line in newItems)
                {
                    items.AddFirst(line);
                }
                break;
            }
            OnAddMessages?.Invoke(this, newItems.Count);
        }