public void DuplicateFakeList()
        {
            dupNumber++;
            foreach (var e in FakeFindList.ToList())
            {
                if (e.FullName == null)
                {
                    e.FullName = "dbo." + e.Name;
                }

                var newE = new HuntingDog.DogEngine.Entity();
                newE.IsFunction  = e.IsFunction;
                newE.IsTable     = e.IsTable;
                newE.IsView      = e.IsView;
                newE.IsProcedure = e.IsProcedure;



                newE.Name = e.Name + dupNumber;


                newE.FullName = "dbo." + newE.Name;
                FakeFindList.Add(newE);
            }
        }
        public List <HuntingDog.DogEngine.Entity> Find(IServer serverName, string databaseName, string searchText, int searchLimit)
        {
            if (searchText == "slow")
            {
                System.Threading.Thread.Sleep(6 * 1000);
            }

            if (EmptyDataBase == databaseName)
            {
                return(new List <HuntingDog.DogEngine.Entity>());
            }

            if (OnAction != null)
            {
                OnAction("Find:" + searchText + " on " + databaseName + ", srv:" + serverName);
            }
            searchText = searchText.ToLower();

            IEnumerable <HuntingDog.DogEngine.Entity> storage = null;

            if (databaseName == SmallDataBase)
            {
                storage = FakeFindList.Take(10);
            }
            else
            {
                storage = FakeFindList;
            }


            if (searchText == " " || searchText == "")
            {
                return(FakeFindList);
            }


            var keywords = new List <string>();

            foreach (string searchKeyword in searchText.Split(' '))
            {
                keywords.Add(searchKeyword.ToUpper());
            }

            foreach (var entity in FakeFindList)
            {
                entity.Keywords = keywords;
            }



            return(FakeFindList.Where(x =>

                                      keywords.Exists(k => x.Name.ToUpper().Contains(k))


                                      ).OrderBy(x => x.Name).ToList());
        }