void AddResult(SearchResult result) { bool sortResult = true; if (++resultCount > 1000) { sortResult = false; tooManyResults = true; result = new SearchResult { NameObject = "Search aborted, more than 1000 results found." }; cts.Cancel(); } dispatcher.BeginInvoke( DispatcherPriority.Normal, new Action(() => { if (sortResult) { ListSorter.Insert(this.Results, 0, this.Results.Count - 1, result); } else { this.Results.Insert(this.Results.Count - 1, result); } }) ); cts.Token.ThrowIfCancellationRequested(); }
public void RemoveDoubleMovies() { var fistMovie = new Movie { id = "1", title = "first", rated = 10f }; var secondMovie = new Movie { id = "2", title = "second", rated = 0f }; var thirdMovie = new Movie { id = "3", title = "third", rated = 0f }; var firstList = new List <Movie> { fistMovie, secondMovie, thirdMovie }; var secondList = new List <Movie> { fistMovie }; var actual = ListSorter.CombineMovieListsWithioutDoubles(firstList, secondList); Assert.AreEqual(3, actual.Count); }
public ActionResult GetMovieById(string id) { var top100List = GetTop100MovieList(); var detailedMovieList = GetDetailedMovies(); var combinedList = ListSorter.CombineMovieListsWithioutDoubles(detailedMovieList, top100List); return(Ok(combinedList.FirstOrDefault(movie => movie.id == id))); }
public void GivenArrayOfItems_WhenSelectionSortIsInvoked_ThenSortedArrayIsReturned() { // Arrange var items = GetItems(); // Act var result = ListSorter.SelectionSort(items); // Assert Assert.Equal("B,E,A,D,C", string.Join(",", result.Select(x => x.Name))); }
public void Test_SortNameList_ReturnsCorrectResult() { List <Name> unsortedList = new List <Name> { new Name("zebra zippy zoo"), new Name("pinky pie pooh"), new Name("Christie Cheesy Choi") }; List <Name> sortedList = new List <Name> { new Name("Christie Cheesy Choi"), new Name("pinky pie pooh"), new Name("zebra zippy zoo") }; List <Name> methodSortedList = ListSorter.NameSort(unsortedList); Assert.Equal(methodSortedList, sortedList); }
private void buildListView() { lv_Websites.Clear(); lv_Websites.Columns.Add("Name", 120); lv_Websites.Columns.Add("Is 2fa supported?", 330); ListSorter lsListSorter = new ListSorter(0, SortOrder.Ascending, true, false); lv_Websites.ListViewItemSorter = lsListSorter; if (m_host != null) { lv_Websites.SmallImageList = m_host.MainWindow.ClientIcons; } }
public ActionResult GetDetailedList(bool orderByAscending = true) { var top100List = GetTop100MovieList(); var parsedMovieList = GetDetailedMovies(); var listToOrder = ListSorter.CombineMovieListsWithioutDoubles(parsedMovieList, top100List); var orderedList = ListSorter.orderList(orderByAscending, listToOrder); var listOfTitles = new List <string>(); foreach (var movie in orderedList) { listOfTitles.Add(movie.title); } return(Ok(listOfTitles)); }
static void Main(string[] args) { Console.WriteLine("Welcome to this .NET Core Console App"); int[] array = new[] { 1, 4, 3, 2 }; List <int> set = new List <int>(array); set = ListSorter.Sort(set).ToList(); set.ForEach(item => Console.WriteLine(item)); Console.WriteLine("Finished the .NET Core Console App"); Console.ReadLine(); }
public void Check_If_List_Only_Contains_Normal() { bool allCorrectType = true; sortedcontainers = ListSorter.GetNormalContainers(containers); foreach (var container in sortedcontainers) { if (container.Variant != ContainerVariant.Normal) { allCorrectType = false; } } Assert.AreEqual(8, sortedcontainers.Count); Assert.AreEqual(true, allCorrectType); }
public void Check_If_List_Only_Contains_Valuable_And_Coolable() { bool allCorrectType = true; sortedcontainers = ListSorter.GetCoolableAndValuableContainers(containers); foreach (var container in sortedcontainers) { if (container.Variant != ContainerVariant.CoolableAndValuable) { allCorrectType = false; } } Assert.AreEqual(4, sortedcontainers.Count); Assert.AreEqual(true, allCorrectType); }
private void buildListView() { lvExpiringPasswords.Columns.Add(Properties.strings.pcr_form_lv_name, 120); lvExpiringPasswords.Columns.Add(Properties.strings.pcr_form_lv_nextchangein, 90, HorizontalAlignment.Right); lvExpiringPasswords.Columns.Add(Properties.strings.pcr_form_lv_age, 90, HorizontalAlignment.Right); lvExpiringPasswords.Columns.Add(Properties.strings.pcr_form_lv_remindevery, 90, HorizontalAlignment.Right); ListSorter lsListSorter = new ListSorter(1, SortOrder.Ascending, true, false); lvExpiringPasswords.ListViewItemSorter = lsListSorter; ListViewGroup lvgListViewGroup = new ListViewGroup(Properties.strings.pcr_today); lvExpiringPasswords.Groups.Add(lvgListViewGroup); lvgListViewGroup = new ListViewGroup(Properties.strings.pcr_soon); lvExpiringPasswords.Groups.Add(lvgListViewGroup); }
private void lv_Websites_ColumnClick(object sender, ColumnClickEventArgs e) { // arrows for showing sort const string ascArrow = "▲ "; const string descArrow = "▼ "; CustomListViewEx lv = (CustomListViewEx)sender; ListSorter sorter = (ListSorter)lv.ListViewItemSorter; ColumnHeader head = lv.Columns[sorter.Column]; // remove arrow if (head.Text.StartsWith(ascArrow) || head.Text.StartsWith(descArrow)) { head.Text = head.Text.Substring(2, head.Text.Length - 2); } head = lv.Columns[e.Column]; if (sorter.Column == e.Column) { if (sorter.Order == SortOrder.Ascending) { sorter.Order = SortOrder.Descending; head.Text = descArrow + head.Text; } else { sorter.Order = SortOrder.Ascending; head.Text = ascArrow + head.Text; } } else { sorter.Order = SortOrder.Ascending; sorter.Column = e.Column; head.Text = ascArrow + head.Text; } lv.ListViewItemSorter = sorter; lv.Sort(); }
public void OrderListByDescending() { var fistMovie = new Movie { id = "1", title = "first", rated = 10f }; var secondMovie = new Movie { id = "2", title = "second", rated = 0f }; var listToSort = new List <Movie> { fistMovie, secondMovie }; var actual = ListSorter.orderList(false, listToSort); Assert.AreEqual(fistMovie, actual[0]); }
private void changeSelectedIcon() { presetResult.Clear(); presetResultSorter.Clear(); foreach (IconLayout icon in ContentManager.PresetIcons) { var nameList = icon.iconNames; int match = 0; foreach (var name in nameList) { var itemName = item.Name == null ? new string[0] : item.Name.Split(' '); foreach (string n in itemName) { // check if name is same or contains name with all lower case, all uper case, and first letter uppercase if (name.Contains(n) || name.Contains(n.ToLower()) || name.Contains(n.ToUpper()) || name.Contains(char.ToUpper(n[0]) + n.Substring(1))) { match--; } } } icon.OnClickIconAction += (button) => { toggleIconSelect(button, presetSelectGrid); item.Icon = icon.GetImageSource(); }; presetResultSorter.Add(match); presetResult.Add(icon); match = 0; } toggleIconSelect(null, presetSelectGrid); ListSorter.SortToListAscending(presetResultSorter, presetResult); GridManager.AddGridItem(presetSelectGrid, presetResult, true, GridOrganizer.OrganizeMode.VerticalLeft); Console.WriteLine("AddView 177 preset children " + presetSelectGrid.Children.Count + " preset column count " + presetSelectGrid.ColumnDefinitions.Count); }
private async void doSearchAsync() { int c = 0; startAnimation("Searching"); bSearching = true; btn_Search.Enabled = false; btn_Reload.Enabled = false; lv_Websites.BeginUpdate(); ListSorter ls = (ListSorter)lv_Websites.ListViewItemSorter; lv_Websites.ListViewItemSorter = null; lv_Websites.Items.Clear(); if (listKP2faC_Website.Count > 0) { string sSearchQuery = tb_SearchQuery.Text; await Task.Run(() => { foreach (KP2faC_Website website in listKP2faC_Website) { if (string.IsNullOrWhiteSpace(sSearchQuery) || compareText(website.name, sSearchQuery) || compareText(website.url, sSearchQuery)) { addWebsiteToListView(website); c++; } else if (website.alternatives != null) { foreach (string domain in website.alternatives) { if (compareText(domain, sSearchQuery)) { addWebsiteToListView(website); c++; break; } } } } }); } else if (bRetrievingJson) { ListViewItem lvi = lv_Websites.Items.Add("Loading websites..."); lvi.ImageIndex = (int)PwIcon.NetworkServer; lvi.ToolTipText = "The plugin is currently downloading the json file from the server or reading it from your pc!"; lvi.Font = new Font(lvi.Font, FontStyle.Italic); } else { ListViewItem lvi = lv_Websites.Items.Add("API Error!"); lvi.ImageIndex = (int)PwIcon.Warning; lvi.ToolTipText = "There happend an error! Try to connect your pc to the internet and press Reload!"; } btn_Reload.Enabled = true; btn_Search.Enabled = true; bSearching = false; lv_Websites.ListViewItemSorter = ls; lv_Websites.Sort(); lv_Websites.EndUpdate(); stopAnimation(); setStateText("Found " + c + " entrie(s)!"); }
public void CleanUp() { _listSorter = null; }
private static void UpdateColumnSortingIcons(this ListView lv, ListSorter ls) { if (lv == null) { return; } if (UIUtil.SetSortIcon(lv, ls.Column, ls.Order)) { return; } // if(m_lvEntries.SmallImageList == null) return; if (ls.Column < 0) { return; } string strAsc = " \u2191"; // Must have same length string strDsc = " \u2193"; // Must have same length if (KeePass.Util.WinUtil.IsWindows9x || KeePass.Util.WinUtil.IsWindows2000 || KeePass.Util.WinUtil.IsWindowsXP || KeePassLib.Native.NativeLib.IsUnix()) { strAsc = @" ^"; strDsc = @" v"; } else if (KeePass.Util.WinUtil.IsAtLeastWindowsVista) { strAsc = " \u25B3"; strDsc = " \u25BD"; } foreach (ColumnHeader ch in lv.Columns) { string strCur = ch.Text, strNew = null; if (strCur.EndsWith(strAsc) || strCur.EndsWith(strDsc)) { strNew = strCur.Substring(0, strCur.Length - strAsc.Length); strCur = strNew; } if ((ch.Index == ls.Column) && (ls.Order != SortOrder.None)) { if (ls.Order == SortOrder.Ascending) { strNew = strCur + strAsc; } else if (ls.Order == SortOrder.Descending) { strNew = strCur + strDsc; } } if (strNew != null) { ch.Text = strNew; } } }
private void button1_Click(object sender, EventArgs e) { label1.Text = Convert.ToString(ListSorter.InList1OrInList2(ListSorter.StrToList(textBox1.Text), ListSorter.StrToList(textBox2.Text))); }
public void Sort <T>(Func <Wz_Node, T> getKeyFunc) where T : IComparable <T> { ListSorter.Sort(base.Items as List <Wz_Node>, getKeyFunc); }
public void Init() { _listSorter = new ListSorter(); }
void IService16001Callback.SendSysMessage(S1600MessageType msgType, List <string> lstSysMsg) { string strMsg = string.Empty; long lUserID = 0; switch (msgType) { case S1600MessageType.ConnServerFailed: break; case S1600MessageType.FriendOffline: //好友上线 更新名字颜色和图标 long.TryParse(lstSysMsg[0], out lUserID); List <ContacterInListBox> lstFriend = lstContacters.Where(p => p.UserID == lUserID).ToList(); if (lstFriend.Count > 0) { lstFriend.First().Status = "1"; lstFriend.First().ForegGround = Brushes.Gray; string strType = lstFriend.First().UserID.ToString().Substring(0, 3); lstFriend.First().Icon = strType == ConstValue.RESOURCE_AGENT.ToString() ? "Themes/Default/UMP1600/Images/AgentOffline.png" : "Themes/Default/UMP1600/Images/UserOffline.png"; } ListSorter.SortList <ObservableCollection <ContacterInListBox>, ContacterInListBox>(ref lstContacters, "Status", SortDirection.Descending); break; case S1600MessageType.FriendOnline: //好友上线 更新名字颜色和图标 long.TryParse(lstSysMsg[0], out lUserID); lstFriend = lstContacters.Where(p => p.UserID == lUserID).ToList(); if (lstFriend.Count > 0) { lstFriend.First().Status = "1"; lstFriend.First().ForegGround = Brushes.Red; string strType = lstFriend.First().UserID.ToString().Substring(0, 3); lstFriend.First().Icon = strType == ConstValue.RESOURCE_AGENT.ToString() ? "Themes/Default/UMP1600/Images/AgentOnline.png" : "Themes/Default/UMP1600/Images/UserOnline.png"; //lstFriend.First().Icon = "Themes/Default/UMP1600/Images/OnLine.ico"; } ListSorter.SortList <ObservableCollection <ContacterInListBox>, ContacterInListBox>(ref lstContacters, "Status", SortDirection.Descending); break; case S1600MessageType.GetFriendFailed: MessageBox.Show(InitApp.GetLanguage("1600007", "Failed to get a buddy list")); break; case S1600MessageType.Logined: //MessageBox.Show(InitApp.GetLanguage("1600001", "Your account has been logged in at another place, you have been forced offline")); //lblCurrStatus.Content = session.UserInfo.UserName +"("+ InitApp.GetLanguage("1600009", "Offline")+")"; //lblCurrStatus.Foreground = Brushes.LightGray; StatusChangeEvent((int)UserStatusChangeType.LogOff, ""); SetIMStatus(false); if (iClient.State == CommunicationState.Opened) { try { iClient.Close(); } catch { } } break; case S1600MessageType.LoginFailed: MessageBox.Show(lstSysMsg[0]); break; case S1600MessageType.LoginSuceess: //lblCurrStatus.Content = session.UserInfo.UserName +"("+ InitApp.GetLanguage("1600009", "Offline")+")"; //lblCurrStatus.Foreground = Brushes.LightGreen; StatusChangeEvent((int)UserStatusChangeType.Login, ""); #region 发送心跳的计时器 HeartTimer = new Timer(); HeartTimer.AutoReset = true; HeartTimer.Interval = 180 * 1000; //时间间隔30秒 HeartTimer.Elapsed += HeartTimer_Elapsed; HeartTimer.Start(); #endregion if (StatusChangeEvent != null) { StatusChangeEvent((int)UserStatusChangeType.Login, ""); } break; case S1600MessageType.HeartMsg: //MessageBox.Show("心跳消息"+DateTime.Now); break; case S1600MessageType.TestMsg: //MessageBox.Show(lstSysMsg[0]); break; case S1600MessageType.SendMsgError: strMsg = InitApp.GetLanguage("1600002", "Your message '{0}' failed to send the other party may have been offline, has been sent as an offline message"); strMsg = string.Format(strMsg, lstSysMsg[0]); //找到对应的窗口 显示此消息 string strFriendName = lstSysMsg[1]; if (dicChatWins.Keys.Contains(strFriendName)) { ChartWindow win = dicChatWins[strFriendName].Content as ChartWindow; win.txtRecord.Text += strMsg; } else { //还没想好该咋处理 先空着 } break; case S1600MessageType.EndCookie: //结束会话 string strContacterName = lstSysMsg[0]; long lContacterID = long.Parse(lstSysMsg[1]); if (dicCookies.Keys.Contains(lContacterID)) { if (dicCookies[lContacterID].CookieTimer != null) { dicCookies[lContacterID].CookieTimer.Stop(); dicCookies[lContacterID].CookieTimer = null; //MessageBox.Show("cookie closed"); } } break; case S1600MessageType.CookieID: lContacterID = long.Parse(lstSysMsg[0]); long cookieID = long.Parse(lstSysMsg[1]); if (dicCookies.Keys.Contains(lContacterID)) { dicCookies[lContacterID].CookieID = cookieID; dicCookies[lContacterID].CookieCreated = 1; dicCookies[lContacterID].CookieTimer.Start(); } break; } }
/// <summary> /// 初始化好友列表 /// </summary> /// <param name="lstFriends"></param> void IService16001Callback.InitFriendList(List <string> lstFriends) { lstContacters.Clear(); if (lstFriends.Count <= 0) { //MessageBox.Show("您没有可以管理的用户和坐席"); return; } lbContacter.ItemsSource = lstContacters; OperationReturn optReturn = null; Contacter con = null; ContacterInListBox conInList = null; for (int i = 0; i < lstFriends.Count; i++) { optReturn = XMLHelper.DeserializeObject <Contacter>(lstFriends[i]); if (optReturn.Result) { con = optReturn.Data as Contacter; conInList = new ContacterInListBox(); List <ContacterInListBox> lstExists = lstContacters.Where(p => p.UserID == con.UserID).ToList(); if (lstExists.Count > 0) { continue; } conInList.UserID = con.UserID; conInList.UserName = S16001EncryptOperation.DecryptWithM004(con.UserName); conInList.FullName = S16001EncryptOperation.DecryptWithM004(con.UserName) + " (" + S16001EncryptOperation.DecryptWithM004(con.FullName) + ")"; conInList.OrgID = con.OrgID; conInList.OrgName = S16001EncryptOperation.DecryptWithM004(con.OrgName); conInList.ParentOrgID = con.ParentOrgID; conInList.Status = con.Status; conInList.IMGOpacity = "1"; string strType = conInList.UserID.ToString().Substring(0, 3); if (strType == ConstValue.RESOURCE_AGENT.ToString()) { if (conInList.Status == "1") { conInList.Icon = "Themes/Default/UMP1600/Images/AgentOnline.png"; } else { conInList.Icon = "Themes/Default/UMP1600/Images/AgentOffline.png"; } } else { if (conInList.Status == "1") { conInList.Icon = "Themes/Default/UMP1600/Images/UserOnline.png"; } else { conInList.Icon = "Themes/Default/UMP1600/Images/UserOffline.png"; } } if (conInList.Status == "1") { conInList.ForegGround = Brushes.Red; } else { conInList.ForegGround = Brushes.Gray; } lstContacters.Add(conInList); } } ListSorter.SortList <ObservableCollection <ContacterInListBox>, ContacterInListBox>(ref lstContacters, "Status", SortDirection.Descending); }