public void ConversationMemberStatusChanged(long conversationId, ConversationMemberStatus status)
        {
            var conv = chatCallbackModel.Conversations.FirstOrDefault(x => x.Id == conversationId);

            if (conv != null)
            {
                conv.MyStatus = status;
                //var reply = new ConversationReply() { Author = whoChangedLogin, ConversationId=conversationId, SendingTime= DateTimeOffset.Now, Status= ConversationReplyStatus.Received };
                //switch (status)
                //{
                //    case ConversationMemberStatus.Blocked:
                //        reply.Body = $"{whoChangedLogin} blocked me in conversation";
                //        break;
                //    case ConversationMemberStatus.KickedOut:
                //        reply.Body = $"{whoChangedLogin} kicked me out from conversation";
                //        break;
                //    default:
                //        reply.Body = $"{whoChangedLogin} change my status to - {status}";
                //        break;
                //}
                //conv.Messages.Add(reply);
            }
        }
Example #2
0
 public async static void ConversationMemberStatusChanged(long userChange, long conversationId, ConversationMemberStatus status)
 {
     if (OnlineUsers.TryGetValue(userChange, out ServiceImplementation.ChatServiceProvider provider))
     {
         await Task.Run(() => provider?.Callback.ConversationMemberStatusChanged(conversationId, status));
     }
 }