public void ChangeChannel(string channel)
 {
     this.CurrentChannel = channel;
     Application.SynchronizationContext.Post(_ =>
     {
         messageAdapter.Clear();
         if (FullHistory.ContainsKey(channel))
         {
             FullHistory[channel].ForEach(msg =>
             {
                 messageAdapter.Add(msg);
             });
         }
     }, null);
 }
 public void AppendMessage(ChatMessage chatMessage)
 {
     if (!FullHistory.ContainsKey(chatMessage.Channel))
     {
         FullHistory.Add(chatMessage.Channel, new List <ChatMessage>());
     }
     FullHistory[chatMessage.Channel].Add(chatMessage);
     if (chatMessage.Channel == this.CurrentChannel)
     {
         Application.SynchronizationContext.Post(_ =>
         {
             messageAdapter.Add(chatMessage);
             messageAdapter.NotifyDataSetChanged();
         }, null);
     }
 }
Пример #3
0
        void FilterItems()
        {
            Console.WriteLine("Filtering Items by " + _SelectedFilter);
            switch (SelectedFilter)
            {
            case "All":
                FilteredHistory.ReplaceRange(FullHistory);
                break;

            case "Week":
                FilteredHistory.ReplaceRange(FullHistory.Where(a => a.StartTime.Date >= DateTime.Now.Date.AddDays(-7) && a.StartTime.Date <= DateTime.Now.Date));
                break;

            case "Month":
                FilteredHistory.ReplaceRange(FullHistory.Where(a => a.StartTime.Date >= DateTime.Now.Date.AddMonths(-1) && a.StartTime.Date <= DateTime.Now.Date));
                break;

            case "Today":
                FilteredHistory.ReplaceRange(FullHistory.Where(a => a.StartTime.Date == DateTime.Now.Date));
                break;
            }
        }