private static void MaintainTwentySearchString(SeachString strToAdd, SearchStringList searchStringList)
        {
            bool check = false;

            foreach (
                SeachString str in
                searchStringList.ListSearchString.Where(str => str.SearchString.Equals(strToAdd.SearchString)))
            {
                searchStringList.ListSearchString.Remove(str);
                strToAdd.Timestamp = DateTime.Now;
                searchStringList.ListSearchString.Add(strToAdd);
                Db4oClient.OMNConnection.Delete(str);
                check = true;
                break;
            }
            if (!check)
            {
                SeachString temp = searchStringList.ListSearchString[searchStringList.ListSearchString.Count - 1];
                searchStringList.ListSearchString.Remove(temp);
                strToAdd.Timestamp = DateTime.Now;
                searchStringList.ListSearchString.Add(strToAdd);
                Db4oClient.OMNConnection.Delete(temp);
            }
            Db4oClient.OMNConnection.Store(searchStringList);
            Db4oClient.OMNConnection.Commit();
        }
        internal void RemovesSearchStringsForAConnection()
        {
            try
            {
                SearchStringList grpSearchString = FetchAllSearchStringsForAConnection();

                if (grpSearchString != null)
                {
                    foreach (SeachString sString in grpSearchString.ListSearchString.Where(sString => sString != null))
                    {
                        Db4oClient.OMNConnection.Delete(sString);
                    }
                    grpSearchString.ListSearchString.Clear();
                    grpSearchString.TimeOfCreation = Sharpen.Runtime.CurrentTimeMillis();
                    Db4oClient.OMNConnection.Store(grpSearchString);
                    Db4oClient.OMNConnection.Commit();
                }
            }
            catch (Exception oEx)
            {
                LoggingHelper.HandleException(oEx);
            }
            finally

            {
                Db4oClient.CloseRecentConnectionFile();
            }
        }
        internal List <string> ReturnStringList()
        {
            List <string> stringList = null;

            try
            {
                SearchStringList groupSearchList = FetchAllSearchStringsForAConnection();
                if (groupSearchList != null)
                {
                    CompareSearchStringTimestamps cmp = new CompareSearchStringTimestamps();
                    groupSearchList.ListSearchString.Sort(cmp);
                    stringList = groupSearchList.ListSearchString.Select(str => str.SearchString).ToList();
                }
            }
            catch (Exception oEx)
            {
                LoggingHelper.HandleException(oEx);
            }
            finally
            {
                Db4oClient.CloseRecentConnectionFile();
            }

            return(stringList);
        }
Example #4
0
        // little test console app
        static void Main(string[] args)
        {
            var list  = new SearchStringList(true);
            int count = 20;
            int idx   = 0;

//            for (int i = 0; i < count; i++)
//            {
//                for (int j = 0; j < count; j++)
//                {
//                    for (int z = 0; z < count; z++)
//                    {
//                        list.Add(i.ToString() + j.ToString() + z.ToString());
//                    }
//                }
//            }

            list.Add("12996");

            //            var list = new SearchStringList(true);
            //            list.Add("Now is the time");
            //            list.Add("for all good men");
            //            list.Add("Time now for something");
            //            list.Add("something completely different");

            string keyword = "12";

            foreach (var pos in list.FindAll(keyword))
            {
                Console.WriteLine(pos.ToString() + " =>" + list[pos.ListIndex] + " pos.StringIndex:" + pos.StringIndex);

                var str = list[pos.ListIndex];

                var left  = str.Substring(0, pos.StringIndex);
                var sub   = str.Substring(pos.StringIndex, keyword.Length);
                var right = str.Substring(pos.StringIndex + keyword.Length);

                Console.WriteLine("left:" + left + " sub:" + sub + " right:" + right);
            }

            Console.ReadLine();

            //            while (true)
            //            {
            //                string keyword = Console.ReadLine();
            //                if (keyword.Length == 0) break;
            //                foreach (var pos in list.FindAll(keyword))
            //                {
            //                    Console.WriteLine(pos.ToString() + " =>" + list[pos.ListIndex]);
            //                }
            //            }
        }
 internal void AddSearchStringToList(SeachString strToAdd)
 {
     try
     {
         SearchStringList searchStringList = FetchAllSearchStringsForAConnection();
         if (searchStringList == null)
         {
             searchStringList = new SearchStringList(m_connParam);
             searchStringList.ListSearchString.Add(strToAdd);
             searchStringList.TimeOfCreation = Sharpen.Runtime.CurrentTimeMillis();
             Db4oClient.OMNConnection.Store(searchStringList);
             Db4oClient.OMNConnection.Commit();
             return;
         }
         if (searchStringList.ListSearchString.Count < 20)
         {
             bool checkstr = false;
             foreach (
                 SeachString str in
                 searchStringList.ListSearchString.Where(
                     str => str.SearchString.Equals(strToAdd.SearchString)))
             {
                 searchStringList.ListSearchString.Remove(str);
                 strToAdd.Timestamp = DateTime.Now;
                 searchStringList.ListSearchString.Add(strToAdd);
                 Db4oClient.OMNConnection.Delete(str);
                 checkstr = true;
                 break;
             }
             if (!checkstr)
             {
                 searchStringList.ListSearchString.Add(strToAdd);
             }
             Db4oClient.OMNConnection.Store(searchStringList);
             Db4oClient.OMNConnection.Commit();
         }
         else
         {
             MaintainTwentySearchString(strToAdd, searchStringList);
         }
     }
     catch (Exception oEx)
     {
         LoggingHelper.HandleException(oEx);
     }
     finally
     {
         Db4oClient.CloseRecentConnectionFile();
     }
 }
 internal long ReturnTimeWhenSearchStringCreated()
 {
     try
     {
         SearchStringList grpSearchStrings = FetchAllSearchStringsForAConnection();
         if (grpSearchStrings != null)
         {
             return(grpSearchStrings.TimeOfCreation > 0 ? grpSearchStrings.TimeOfCreation : 0);
         }
     }
     catch (Exception oEx)
     {
         LoggingHelper.HandleException(oEx);
     }
     finally
     {
         Db4oClient.CloseRecentConnectionFile();
     }
     return(0);
 }
Example #7
0
        public async Task InitAsync()
        {
            await Task.Factory.StartNew(() =>
            {
                lock (_lockerFilter)
                {
                    _indexSearchStringList = new SearchStringList(true);
                    _list = new ConcurrentDictionary <int, VirtualListItem>();

//                    int cc = 30;
//                    int idx = 0;
//
//                    for (int i = 0; i < cc; i++)
//                    {
//                        for (int j = 0; j < cc; j++)
//                        {
//                            for (int z = 0; z < cc; z++)
//                            {
//                                var user = new User(i.ToString() + j + z);
//                                _list.TryAdd(idx++, user);
//                                _indexSearchStringList.Add(user.ToString());
//                            }
//                        }
//                    }

                    Uniso.InStat.Web.MsSqlService.GetUserList();
                    for (var index = 0; index < Uniso.InStat.User.List.Count; index++)
                    {
                        Uniso.InStat.User item = Uniso.InStat.User.List[index];
                        if (!string.IsNullOrEmpty(item.Login))
                        {
                            var user = new User(index, item.Login);
                            _list.TryAdd(index, user);
                            _indexSearchStringList.Add(user.ToString());
                        }
                    }
                }
            });

            await ContainsAsync();
        }
        private SearchStringList FetchAllSearchStringsForAConnection()
        {
            SearchStringList grpSearchStrings = null;

            try
            {
                IQuery query = Db4oClient.OMNConnection.Query();
                query.Constrain(typeof(SearchStringList));
                query.Descend("m_connParam").Descend("m_connection").Constrain(m_connParam.Connection);
                IObjectSet objSet = query.Execute();
                if (objSet.Count != 0)
                {
                    grpSearchStrings = (SearchStringList)objSet.Next();
                }
            }

            catch (Exception oEx)
            {
                LoggingHelper.HandleException(oEx);
            }
            return(grpSearchStrings);
        }
Example #9
0
        public async Task InitAsync()
        {
            await Task.Factory.StartNew(() =>
            {
                MsSqlService.GetUserList();

                _indexSearchStringList = new SearchStringList(true);
                _list = new ConcurrentDictionary <int, VirtualListItem>();

                for (var index = 0; index < Uniso.InStat.User.List.Count; index++)
                {
                    Uniso.InStat.User item = Uniso.InStat.User.List[index];
                    if (!string.IsNullOrEmpty(item.Login))
                    {
                        var user = new User(index, item.Login);
                        _list.TryAdd(index, user);
                        _indexSearchStringList.Add(user.ToString());
                    }
                }
            });

            await ContainsAsync();
        }
Example #10
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            SqlConnection con = new SqlConnection(@"Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=master;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False");

            con.Open();
            string query = "SELECT Name, SalesRate FROM Items";

            sda = new SqlDataAdapter(query, con);
            sda.SelectCommand.ExecuteNonQuery();
            tblData = new DataTable();
            sda.Fill(tblData);

            var list  = new SearchStringList(true);
            var list2 = new SearchStringList(false);

            foreach (DataRow theRow in tblData.Rows)
            {
                list.Add(theRow.ItemArray[0].ToString());
                list2.Add(theRow.ItemArray[1].ToString());
            }

            string keyword = SearchText.Text;


            if (keyword.Length == 0)
            {
                DisplaySearch.ItemsSource = tblData.DefaultView;
            }
            else
            {
                DataTable tblData2 = new DataTable();

                tblData2.Columns.Add(new DataColumn()
                {
                    ColumnName   = "Name",
                    DataType     = System.Type.GetType("System.String"),
                    AllowDBNull  = true,
                    DefaultValue = String.Empty,
                    MaxLength    = 100
                });
                tblData2.Columns.Add(new DataColumn()
                {
                    ColumnName   = "Price",
                    DataType     = System.Type.GetType("System.String"),
                    AllowDBNull  = true,
                    DefaultValue = String.Empty,
                    MaxLength    = 100
                });

                foreach (var pos in list.FindAll(keyword))
                {
                    Console.WriteLine(pos.ToString() + " =>" + list[pos.ListIndex]);

                    DataRow dr = tblData2.NewRow();

                    dr[0] = list[pos.ListIndex];
                    dr[1] = list2[pos.ListIndex];
                    tblData2.Rows.Add(dr);
                }
                DisplaySearch.ItemsSource = tblData2.DefaultView;
            }
        }