Ejemplo n.º 1
0
        public void OnSelectMruItem(SearchMruItem item)
        {
            ThrowIfDisposedOrSearchNotSetup();
            var mruStore = IoC.Get <ISearchMruItemStore>();

            mruStore.SetMruItem(ref _searchCategory, item.Text);
            var newItem   = new WindowSearchMruItem(item.Text, this);
            var itemsCopy = DataSource.SearchMruItems.ToList();

            RemoveItem(ref itemsCopy, item);
            itemsCopy.Insert(0, newItem);
            DataSource.SearchMruItems = itemsCopy;
        }
Ejemplo n.º 2
0
        private bool RemoveItem(ref List <SearchMruItem> collection, SearchMruItem item)
        {
            var count = collection.Count;

            for (var i = 0; i < count; ++i)
            {
                var originalItem = collection.ElementAt(i);

                if (originalItem == item)
                {
                    collection.RemoveAt(i);
                    return(true);
                }
            }

            return(false);
        }
Ejemplo n.º 3
0
        public void OnDeleteMruItem(SearchMruItem item)
        {
            ThrowIfDisposedOrSearchNotSetup();
            var mruStore = IoC.Get <ISearchMruItemStore>();

            mruStore.DeleteMruItem(ref _searchCategory, item.Text);
            var maximumMruItems = DataSource.SearchSettings.MaximumMruItems;
            var strArray        = new string[maximumMruItems];
            var items           = mruStore.GetMruItems(ref _searchCategory, SearchString, maximumMruItems, strArray);

            var itemsCopy = DataSource.SearchMruItems.ToList();

            RemoveItem(ref itemsCopy, item);

            if (items <= itemsCopy.Count)
            {
                DataSource.SearchMruItems = itemsCopy;
                return;
            }

            itemsCopy.Add(new WindowSearchMruItem(strArray[items - 1], this));
            DataSource.SearchMruItems = itemsCopy;
        }