コード例 #1
0
        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));
            }
        }
コード例 #2
0
        private void UpdateAllForHistoryContainer(HistoryContainerDataModel historyContainerDataModel)
        {
            UpdateFullHistoryContainerList(historyContainerDataModel);
            SearchHistory(_searchedText);

            if (HistoryContainerUpdatedEvent == null)
            {
                return;
            }
            HistoryContainerUpdatedEvent(this, historyContainerDataModel);
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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);
            }
        }
コード例 #5
0
        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);
            }
        }
コード例 #6
0
 private void HistoryContainerService_HistoryContainerUpdatedForHistoryAddedEvent(object sender,
                                                                                  HistoryContainerDataModel historyContainerDataModel)
 {
     UpdateAllForHistoryContainer(historyContainerDataModel);
 }