public bool DequeueView(out ViewTrackingStoreItem view)
        {
            bool dequeuedView = false;

            view = null;

            if (items.Count > 0)
            {
                lock (items)
                {
                    view = items[0];

                    items.RemoveAt(0);

                    dequeuedView = true;
                }
            }

            return(dequeuedView);
        }
        public void EnqueueView(Guid postID, string viewType)
        {
            lock (items)
            {
                ViewTrackingStoreItem foundItem = null;

                foreach (ViewTrackingStoreItem item in items)
                {
                    if (item.PostID == postID && string.Compare(item.ViewType, viewType, true) == 0)
                    {
                        foundItem = item;

                        item.Count++;

                        break;
                    }
                }

                if (foundItem == null)
                {
                    items.Add(new ViewTrackingStoreItem(postID, viewType));
                }
            }
        }