public void SearchTerm(OleMenuCmdEventArgs eventArgs) { var vOut = eventArgs.OutValue; if (vOut != IntPtr.Zero) { Marshal.GetNativeVariantForObject(SearchValues.ToArray(), vOut); } }
public void Search(OleMenuCmdEventArgs eventArgs) { var input = eventArgs.InValue; var vOut = eventArgs.OutValue; if (vOut != IntPtr.Zero) { Marshal.GetNativeVariantForObject(CurrentSearchString, vOut); } else if (input != null) { CurrentSearchString = input.ToString().Trim().ToLower(); if (!string.IsNullOrWhiteSpace(CurrentSearchString)) { if (!SearchValues.Contains(CurrentSearchString)) { SearchValues.Add(CurrentSearchString); } PagedSchemesView.Filter += delegate(object obj) { var scheme = obj as Scheme; if (scheme == null) { return(false); } var matchingTitle = false; var matchingAuthor = false; if (!string.IsNullOrWhiteSpace(scheme.Title)) { matchingTitle = scheme.Title.ToLower().Contains(CurrentSearchString); } if (!string.IsNullOrWhiteSpace(scheme.Author)) { matchingAuthor = scheme.Author.ToLower().Contains(CurrentSearchString); } return(matchingTitle || matchingAuthor); }; } else { PagedSchemesView.Filter = null; } } UpdateInfoBar(); }
public async void TestNeighborFail() { Peer sender = null; Peer recv1 = null; try { sender = new PeerBuilder(new Number160("0x50")) .SetMaintenanceTask(Utils2.CreateInfiniteIntervalMaintenanceTask()) .SetChannelServerConfiguration(Utils2.CreateInfiniteTimeoutChannelServerConfiguration(2424, 2424)) .SetP2PId(55) .SetPorts(2424) .Start(); recv1 = new PeerBuilder(new Number160("0x20")) .SetMaintenanceTask(Utils2.CreateInfiniteIntervalMaintenanceTask()) .SetChannelServerConfiguration(Utils2.CreateInfiniteTimeoutChannelServerConfiguration(8088, 8088)) .SetP2PId(55) .SetPorts(2424) .Start(); var neighbors1 = new NeighborRpc(sender.PeerBean, sender.ConnectionBean); var neighbors2 = new NeighborRpc(recv1.PeerBean, recv1.ConnectionBean); var cc = await recv1.ConnectionBean.Reservation.CreateAsync(1, 0); try { var sv = new SearchValues(new Number160("0x30"), null); var infConfig = Utils2.CreateInfiniteConfiguration(); await neighbors2.CloseNeighborsAsync(sender.PeerAddress, sv, Message.MessageType.Exception, cc, infConfig); Assert.Fail("ArgumentException should have been thrown."); } catch (ArgumentException) { cc.ShutdownAsync().Wait(); } } finally { if (sender != null) { sender.ShutdownAsync().Wait(); } if (recv1 != null) { recv1.ShutdownAsync().Wait(); } } }
public async void TestNeighbor2() { Peer sender = null; Peer recv1 = null; try { sender = new PeerBuilder(new Number160("0x50")) .SetMaintenanceTask(Utils2.CreateInfiniteIntervalMaintenanceTask()) .SetChannelServerConfiguration(Utils2.CreateInfiniteTimeoutChannelServerConfiguration(2424, 2424)) .SetP2PId(55) .SetPorts(2424) .Start(); recv1 = new PeerBuilder(new Number160("0x20")) .SetMaintenanceTask(Utils2.CreateInfiniteIntervalMaintenanceTask()) .SetChannelServerConfiguration(Utils2.CreateInfiniteTimeoutChannelServerConfiguration(8088, 8088)) .SetP2PId(55) .SetPorts(2424) .Start(); var neighbors1 = new NeighborRpc(sender.PeerBean, sender.ConnectionBean); var neighbors2 = new NeighborRpc(recv1.PeerBean, recv1.ConnectionBean); var cc = await recv1.ConnectionBean.Reservation.CreateAsync(1, 0); var sv = new SearchValues(new Number160("0x30"), null); var infConfig = Utils2.CreateInfiniteConfiguration(); var tr = neighbors2.CloseNeighborsAsync(sender.PeerAddress, sv, Message.MessageType.Request2, cc, infConfig); await tr; Assert.IsTrue(!tr.IsFaulted); var addresses = tr.Result.NeighborsSet(0); // I see noone, not even myself. My peer was added in the overflow map. Assert.AreEqual(0, addresses.Size); await cc.ShutdownAsync(); } finally { if (sender != null) { sender.ShutdownAsync().Wait(); } if (recv1 != null) { recv1.ShutdownAsync().Wait(); } } }
public async Task<IHttpActionResult> PostSearch([FromUri]SearchValues searchValues) { // create a default searchValues, this should probably just be a strut if (searchValues == null) { searchValues = new SearchValues { OrderBy = "Id", Page = 1, PageSize = 20, SortDirection = SortDirection.Ascending }; } int totalItemCount; int skip = (searchValues.Page - 1) * searchValues.PageSize; List<User> userList; // TODO repository, caching etc. using (var context = new DataContext()) { context.Configuration.ProxyCreationEnabled = false; totalItemCount = context.Users.Count(); userList = await (from x in context.Users .Include(u => u.Profile) orderby searchValues.OrderBy select x ).Skip(skip).Take(searchValues.PageSize).ToListAsync(); } var model = new SerializablePagination<User>( userList.ToList(), totalItemCount, searchValues.Page, searchValues.PageSize) { BaseUrl = "User", SortBy = searchValues.OrderBy, SortDirection = searchValues.SortDirection }; return await Task.FromResult((IHttpActionResult)this.Ok(model)); }
public async void TestNeighborTcp() { Peer sender = null; Peer recv1 = null; try { sender = new PeerBuilder(new Number160("0x50")) .SetMaintenanceTask(Utils2.CreateInfiniteIntervalMaintenanceTask()) .SetChannelServerConfiguration(Utils2.CreateInfiniteTimeoutChannelServerConfiguration(2424, 2424)) .SetP2PId(55) .SetPorts(2424) .Start(); // add neighbors to the sender's peer map var addresses = Utils2.CreateDummyAddresses(300, PortTcp, PortUdp); for (int i = 0; i < addresses.Length; i++) { sender.PeerBean.PeerMap.PeerFound(addresses[i], null, null); } // register neighbor RPC handlers var neighbors1 = new NeighborRpc(sender.PeerBean, sender.ConnectionBean); // TODO needed? registering? recv1 = new PeerBuilder(new Number160("0x20")) .SetMaintenanceTask(Utils2.CreateInfiniteIntervalMaintenanceTask()) .SetChannelServerConfiguration(Utils2.CreateInfiniteTimeoutChannelServerConfiguration(8088, 8088)) .SetP2PId(55) .SetPorts(8088) .Start(); var neighbors2 = new NeighborRpc(recv1.PeerBean, recv1.ConnectionBean); // ask sender for his neighbors var cc = await recv1.ConnectionBean.Reservation.CreateAsync(0, 1); var sv = new SearchValues(new Number160("0x1"), null); var infConfig = Utils2.CreateInfiniteConfiguration() .SetIsForceTcp(); var tr = neighbors2.CloseNeighborsAsync(sender.PeerAddress, sv, Message.MessageType.Request2, cc, infConfig); await tr; Assert.IsTrue(!tr.IsFaulted); // check if receiver got the neighbors var neighborSet = tr.Result.NeighborsSet(0); // 33 peer addresses can be stored in 1000 bytes (NeighborsLimit) Assert.IsTrue(neighborSet.Size == 33); var neighbors = neighborSet.Neighbors.ToList(); Assert.AreEqual(new Number160("0x1"), neighbors[0].PeerId); Assert.AreEqual(PortTcp, neighbors[1].TcpPort); Assert.AreEqual(PortUdp, neighbors[2].UdpPort); await cc.ShutdownAsync(); } finally { if (sender != null) { sender.ShutdownAsync().Wait(); } if (recv1 != null) { recv1.ShutdownAsync().Wait(); } } }
public static double SearchArrayValues(this double[] array, SearchValues searchVal) { return(searchVal.Invoke(array)); }
public IList <string> GetSearchValueList() { return(SearchValues?.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries)); }
public List<SearchValues> SearchAllDB(string[] input) { //declare values List<SearchValues> tapeDBValues = new List<SearchValues>(); string preQuery = ""; string query = ""; try { //start new sqlite connection SQLiteConnection searchConnection = new SQLiteConnection(database); searchConnection.Open(); SQLiteCommand command = new SQLiteCommand(searchConnection); //start of query pieces for tape Database preQuery = "select * from TapeDatabase"; //add query based on number of entries if (input.Length > 0) { //iterate over all entries for (int i = 0; i < input.Length; i++) { //set up value for each input string term = "@input" + i; string value = "'%" + input[i].ToLower() + "%'"; if (i == 0) { preQuery += " where"; } if (i > 0) { preQuery += " or"; } //set up the regex part of the query preQuery += String.Format(" project_id like {0} or project_name like {0} or tape_name like {0} or tape_tags like {0} or date_shot like {0} or master_archive like {0}", value); Debug.WriteLine(input[i].ToLower()); } } preQuery += " order by project_id asc"; Debug.WriteLine(preQuery); //Set assembled query to final query query = preQuery; command.CommandText = query; Debug.WriteLine("Command Text: " + command.CommandText); using (SQLiteDataReader reader = command.ExecuteReader()) { //If there are return values then parse them and display them if (reader.HasRows) { while (reader.Read()) { SearchValues dbData = new SearchValues(); dbData.TapeName = reader["tape_name"].ToString(); dbData.TapeNumber = reader["tape_number"].ToString(); dbData.ProjectID = reader["project_id"].ToString(); dbData.ProjectName = reader["project_name"].ToString(); dbData.Camera = commonMethod.GetCameraName(Convert.ToInt32(reader["camera"])); dbData.TapeTags = reader["tape_tags"].ToString(); dbData.DateShot = reader["date_shot"].ToString(); dbData.MasterArchive = reader["master_archive"].ToString(); dbData.Person = reader["person_entered"].ToString(); dbData.ID = Convert.ToInt32(reader["id"]); dbData.FilterName = "tapes"; tapeDBValues.Add(dbData); } } } //start of query pieces for Projects preQuery = "select * from Projects"; //add query based on number of entries if (input.Length > 0) { //iterate over all entries for (int i = 0; i < input.Length; i++) { //set up value for each input string value = "'%" + input[i].ToLower() + "%'"; if (i == 0) { preQuery += " where"; } if (i > 0) { preQuery += " or"; } //set up the regex part of the query preQuery += String.Format(" project_id like {0} or project_name like {0}", value); Debug.WriteLine(input[i].ToLower()); } } preQuery += " order by project_id asc"; Debug.WriteLine(preQuery); //Set assembled query to final query query = preQuery; command.CommandText = query; Debug.WriteLine("Command Text: " + command.CommandText); using (SQLiteDataReader reader = command.ExecuteReader()) { //If there are return values then parse them and display them if (reader.HasRows) { while (reader.Read()) { //Add values to returned list SearchValues dbData = new SearchValues(); dbData.ProjectID = reader["project_id"].ToString(); dbData.ProjectName = reader["project_name"].ToString(); dbData.ID = Convert.ToInt32(reader["id"]); dbData.FilterName = "projects"; tapeDBValues.Add(dbData); } } } //start of query pieces for Master Archive Videos preQuery = "select * from MasterArchiveVideos"; //add query based on number of entries if (input.Length > 0) { //iterate over all entries for (int i = 0; i < input.Length; i++) { //set up value for each input string value = "'%" + input[i].ToLower() + "%'"; if (i == 0) { preQuery += " where"; } if (i > 0) { preQuery += " or"; } //set up the regex part of the query preQuery += String.Format(" project_id like {0} or video_name like {0} or master_tape like {0}", value); Debug.WriteLine(input[i].ToLower()); } } preQuery += " order by project_id asc"; Debug.WriteLine(preQuery); //Set assembled query to final query query = preQuery; command.CommandText = query; Debug.WriteLine("Command Text: " + command.CommandText); using (SQLiteDataReader reader = command.ExecuteReader()) { //If there are return values then parse them and display them if (reader.HasRows) { while (reader.Read()) { //Add values to returned list SearchValues dbData = new SearchValues(); dbData.ProjectID = reader["project_id"].ToString(); dbData.ProjectName = reader["video_name"].ToString(); dbData.MasterArchive = reader["master_tape"].ToString(); dbData.ClipNumber = reader["clip_number"].ToString(); dbData.ID = Convert.ToInt32(reader["id"]); dbData.FilterName = "archive"; tapeDBValues.Add(dbData); } } } //close connection and return final list searchConnection.Close(); } catch (SQLiteException e) { MainForm.LogFile("SQLite Error: " + e.Message); } return tapeDBValues; }