Beispiel #1
0
        /// <summary>
        /// Adds new element to chat list
        /// </summary>
        /// <param name="dataChanged"></param>
        void AddGroupToChatList(List <Group> dataChanged)
        {
            if (dataChanged == null)
            {
                return;
            }

            foreach (var group in dataChanged)
            {
                //Get last message from dataBase
                var lastMess = UnitOfWork.Database.MessagesTableRepo.FindLast(MessagesTableFields.ReceiverId.ToString(), group.Id.ToString());

                //Becouse Items is ObservableCollection we should remove elements from the main thread
                App.Current.Dispatcher.Invoke(() =>
                {
                    ChatList.Items.Add(new ChatListItemViewModel(group, lastMess));
                });

                //Sort list by the last message time
                ChatList.SortChatList();
            }
        }