/// <summary> Применить фильтр к контактам </summary> private void ApplyFilter() { if (!String.IsNullOrWhiteSpace(ContactListFilter)) { var filter = ContactListFilter.Trim().ToLower(); CurrentListModelContact = ListModelContact.Where(obj => obj.FullName.ToLower().Contains(filter)).ToList(); } else { CurrentListModelContact = ListModelContact; } ListModelContactSort(); Action action = () => OnEventViewModel("ChangedList"); CurrentDispatcher.BeginInvoke(action); }
/// <summary> Применить фильтр к контактам </summary> public void ApplyFilter() { var result = ListModelContact; if (_currentApplyFilterNameKey.Equals("ViewModelContact_AllContact", StringComparison.InvariantCultureIgnoreCase)) { result = result.Where(obj => obj.Blocked != true).ToList(); } if (_currentApplyFilterNameKey.Equals("ViewModelContact_DodicallContact", StringComparison.InvariantCultureIgnoreCase)) { result = result.Where(obj => obj.IsDodicall && obj.Blocked != true).ToList(); } if (_currentApplyFilterNameKey.Equals("ViewModelContact_SavedContact", StringComparison.InvariantCultureIgnoreCase)) { result = result.Where(obj => !obj.IsDodicall && obj.Blocked != true).ToList(); } if (_currentApplyFilterNameKey.Equals("ViewModelContact_BlockedContact", StringComparison.InvariantCultureIgnoreCase)) { result = result.Where(obj => obj.Blocked).ToList(); } if (_currentApplyFilterNameKey.Equals("ViewModelContact_WhiteContact", StringComparison.InvariantCultureIgnoreCase)) { result = result.Where(obj => obj.White && obj.Blocked != true).ToList(); } if (!String.IsNullOrWhiteSpace(ContactListFilter)) { var filter = ContactListFilter.Trim().ToLower(); result = result.Where(obj => obj.FullName.ToLower().Contains(filter) || obj.ListModelUserContact.Any(c => c.Identity.ToLower().Contains(filter)) || obj.ListModelUserContactExtra.Any(c => c.Identity.ToLower().Contains(filter)) ).ToList(); } CurrentListModelContact = ListModelContactSort(result); }