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); }
// 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); }
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); }
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(); }
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; } }