コード例 #1
0
ファイル: ChatViewModel.cs プロジェクト: JigsawCorp/PolyDraw
        private async void SocketClientOnMessageReceived(object source, EventArgs e)
        {
            var args = (ChatEventArgs)e;
            //TODO cache user
            await App.Current.Dispatcher.InvokeAsync(async() =>
            {
                if (SessionInformations.User.ID != args.UserID)
                {
                    SoundService.PlayNotification();
                }

                Message m = new Message(args.Date, await GetUser(args.Username, args.UserID), args.Message);
                Channels.First(c => c.ID == args.ChannelId).Messages.Add(m);
                NotifyPropertyChanged(nameof(NewMessages));
            });
        }