private bool IsItemShowable(HistoryContainerDataModel item, string searchedText) { if (string.IsNullOrEmpty(searchedText)) { return(true); } if (item.IsGroup) { ImGroupDataModel imGroupDataModel = groupService.GetGroupByGroupId(item.GroupId); if (imGroupDataModel == null) { return(false); } return(imGroupDataModel.GroupName.ToLower().Contains(searchedText)); } else { ImBuddyDataModel imBuddyDataModel = _buddyService.GetBuddyByUserId(item.UserId); if (imBuddyDataModel == null) { return(false); } return(imBuddyDataModel.Name.ToLower().Contains(searchedText) || imBuddyDataModel.Number.Contains(searchedText)); } }
private void UpdateAllForHistoryContainer(HistoryContainerDataModel historyContainerDataModel) { UpdateFullHistoryContainerList(historyContainerDataModel); SearchHistory(_searchedText); if (HistoryContainerUpdatedEvent == null) { return; } HistoryContainerUpdatedEvent(this, historyContainerDataModel); }
private void HistoryList_OnSelectionChanged(object sender, SelectionChangedEventArgs e) { HistoryContainerDataModel selectedHistoryContainer = HistoryList.SelectedItem as HistoryContainerDataModel; if (selectedHistoryContainer == null) { return; } if (HistoryListSelectionChangedEvent == null) { return; } HistoryListSelectionChangedEvent(sender, selectedHistoryContainer); }
private void UpdateFullHistoryContainerList(HistoryContainerDataModel historyContainerDataModel) { int foundIndex = _fullHistoryContainerList.FindIndex( item => (item.UserIdOrGroupId == historyContainerDataModel.UserIdOrGroupId)); if (foundIndex == 0) { return; } if (foundIndex == -1) { _fullHistoryContainerList.Insert(0, historyContainerDataModel); } else { _fullHistoryContainerList.RemoveAt(foundIndex); _fullHistoryContainerList.Insert(0, historyContainerDataModel); } }
public override DataTemplate SelectTemplate(object item, DependencyObject container) { HistoryContainerDataModel historyContainerDataModel = item as HistoryContainerDataModel; if (historyContainerDataModel == null) { return(ContactHistoryDataTemplate); } HistoryDataModel historyDataModel = ServiceLocator.historyContainerService.GetLastHistoryByUserIdOrGroupId( historyContainerDataModel.UserIdOrGroupId); if (historyDataModel == null) { return(ContactHistoryDataTemplate); } switch (historyDataModel.Category) { case HistoryCategory.Call: return(CallHistoryDataTemplate); case HistoryCategory.IM: { if (historyContainerDataModel.IsGroup) { return(GroupHistoryDataTemplate); } else { return(ContactHistoryDataTemplate); } } default: return(ContactHistoryDataTemplate); } }
private void HistoryContainerService_HistoryContainerUpdatedForHistoryAddedEvent(object sender, HistoryContainerDataModel historyContainerDataModel) { UpdateAllForHistoryContainer(historyContainerDataModel); }