private void SortLs() { Color fromHex = Color.FromHex("#8B8B8B"); IconViewSortDate.ReplaceStringMap = new Dictionary <string, string> { { "#000000", "#8B8B8B" } }; LabelDate.TextColor = fromHex; IconViewSortIdent.ReplaceStringMap = new Dictionary <string, string> { { "#000000", $"#{Settings.MobileSettings.color}" } }; LabelLs.TextColor = hex; if (!isSortLs) { IconViewSortIdent.Rotation = 0; var list = BillInfos.OrderBy(u => u.Ident); BillInfos = new List <BillInfo>(list); isSortLs = true; } else { isSortLs = false; IconViewSortIdent.Rotation = 180; var list = BillInfos.OrderByDescending(u => u.Ident); BillInfos = new List <BillInfo>(list); } additionalList.ItemsSource = null; additionalList.ItemsSource = BillInfos; }
void SortDate() { List <BillInfo> listTop = new List <BillInfo>(); List <BillInfo> listBottom = new List <BillInfo>(); foreach (var each in BillInfos) { if (!string.IsNullOrWhiteSpace(each.Period) && each.Period.Split().Length > 1) { listTop.Add(each); } else { listBottom.Add(each); } } BillinfoComarable comarable = new BillinfoComarable(); IconViewSortDate.ReplaceStringMap = new Dictionary <string, string> { { "#000000", hex.ToHex() } }; LabelDate.TextColor = hex; Color fromHex = Color.FromHex("#8B8B8B"); IconViewSortIdent.ReplaceStringMap = new Dictionary <string, string> { { "#000000", "#8B8B8B" } }; LabelLs.TextColor = fromHex; if (isSortDate) { IconViewSortDate.Rotation = 0; listTop.Sort(comarable); var list = listBottom.OrderBy(u => u.Period); listBottom = new List <BillInfo>(list); isSortDate = false; } else { isSortDate = true; IconViewSortDate.Rotation = 180; listTop.Sort(comarable); listTop.Reverse(); var list = listBottom.OrderByDescending(u => u.Ident); listBottom = new List <BillInfo>(list); } BillInfos.Clear(); BillInfos.AddRange(listTop); BillInfos.AddRange(listBottom); additionalList.ItemsSource = null; if (SelectedAcc != null) { additionalList.ItemsSource = from i in BillInfos where i.Ident.Equals(SelectedAcc.Ident) select i; } else { additionalList.ItemsSource = BillInfos; } }