示例#1
0
文件: Program.cs 项目: javila80/JobMe
 private static void Service_OnReceivedMessage(object sender, Core.EventHandlers.MessageEventArgs e)
 {
     if (e.Message.Sender == userName)
     {
         return;
     }
     if (e.Message.TypeInfo.Name == nameof(SimpleTextMessage))
     {
         var simpleText =
             e.Message as SimpleTextMessage;
         var message = $"{simpleText.Sender}: {simpleText.Text}";
         Console.WriteLine(message);
     }
     else if (e.Message.TypeInfo.Name == nameof(UserConnectedMessage))
     {
         var    userConnected = e.Message as UserConnectedMessage;
         string message       = string.Empty;
         if (userConnected.IsEntering)
         {
             message = $"{userConnected.Sender} has connected";
         }
         else
         {
             message = $"{userConnected.Sender} has left";
         }
         Console.WriteLine(message);
     }
     else if (e.Message.TypeInfo.Name == nameof(PhotoUrlMessage))
     {
         var    photoMessage = e.Message as PhotoUrlMessage;
         string message      = $"{photoMessage.Sender} sent {photoMessage.Url}";
         Console.WriteLine(message);
     }
 }
示例#2
0
 private void _chateService_OnReceivedMessage(object sender, Core.EventHandlers.MessageEventArgs e)
 {
     Device.BeginInvokeOnMainThread(async() =>
     {
         if (Messages.All(x => x.Id != e.Message.Id))
         {
             if (e.Message.TypeInfo.Name == nameof(UserConnectedMessage))
             {
                 var user = await _chateService.GetUsersGroup(GroupName);
                 Users    = new ObservableCollection <User>(user);
             }
             if (e.Message.TypeInfo.Name != nameof(UserConnectedMessage))
             {
                 var user         = Users.FirstOrDefault(x => x.UserId == e.Message.Sender);
                 e.Message.Color  = user.Color;
                 e.Message.Avatar = user.Avatar;
             }
             Messages.Add(e.Message);
         }
     });
 }