Пример #1
0
        //private void ChatForm_Paint(object sender, PaintEventArgs e)
        //{
        //    Graphics g = e.Graphics;
        //    g.SmoothingMode = SmoothingMode.HighQuality;
        //    //  this.chatBox_history.BackColor = Color.WhiteSmoke;
        //    ////全屏蒙浓遮罩层
        //    //g.FillRectangle(new SolidBrush(Color.FromArgb(80, 255, 255, 255)), new Rectangle(0, 0, this.Width, this.chatBox_history.Top));
        //    //g.FillRectangle(new SolidBrush(Color.FromArgb(80, 255, 255, 255)), new Rectangle(0, this.chatBox_history.Top, this.chatBox_history.Width + this.chatBox_history.Left, this.Height - this.chatBox_history.Top));

        //    //线条
        //    // g.DrawLine(new Pen(Color.FromArgb(180, 198, 221)), new Point(0, this.chatBox_history.Top - 1), new Point(chatBox_history.Right, this.chatBox_history.Top - 1));
        //    //   g.DrawLine(new Pen(Color.FromArgb(180, 198, 221)), new Point(0, this.chatBox_history.Bottom), new Point(chatBox_history.Right, this.chatBox_history.Bottom));
        //}


        /// <summary>
        /// 发送聊天信息
        /// </summary>
        /// <param name="receieveUserName"></param>
        /// <param name="msg"></param>
        private bool SendMessageCommand(ChatMessage chatMessage)
        {
            var chatType = GlobalVariable.GetChatType(chatMessage.ReceieveUserName);

            if (chatType == ChatType.PrivateChat)
            {
                if (!GlobalVariable.LoginUserInfo.AllowPrivateChat)
                {
                    GlobalVariable.ShowError("您不允许发送私聊信息");
                    return(false);
                }
                PrivateChatRequest request = new PrivateChatRequest();
                request.guid            = Guid.NewGuid().ToString();
                request.msg             = chatMessage.Message;
                request.receivename     = chatMessage.ReceieveUserName;
                request.SendDisplayName = GlobalVariable.LoginUserInfo.DisplayName;
                request.SendUserName    = GlobalVariable.LoginUserInfo.UserName;
                request.clientRole      = GlobalVariable.LoginUserInfo.UserType;
                // if (chatMessage.MessageType != MessageType.String)
                //  {
                request.MessageType     = chatMessage.MessageType;
                request.DownloadFileUrl = chatMessage.DownloadFileUrl;
                // }
                GlobalVariable.client.Send_PrivateChat(request);
            }
            else if (chatType == ChatType.TeamChat)
            {
                if (!GlobalVariable.LoginUserInfo.AllowTeamChat)
                {
                    GlobalVariable.ShowError("您不允许发送群聊信息");
                    return(false);
                }
                var             chat    = GlobalVariable.GetChatStoreByUserName(chatMessage.ReceieveUserName);
                TeamChatRequest request = new TeamChatRequest();
                request.groupname       = chat.ChatDisplayName;
                request.groupuserList   = chat.GetUserNames();
                request.msg             = chatMessage.Message;
                request.username        = GlobalVariable.LoginUserInfo.UserName;
                request.groupid         = chatMessage.ReceieveUserName;
                request.SendDisplayName = GlobalVariable.LoginUserInfo.DisplayName;
                request.clientRole      = GlobalVariable.LoginUserInfo.UserType;
                request.MessageType     = chatMessage.MessageType;
                request.DownloadFileUrl = chatMessage.DownloadFileUrl;
                GlobalVariable.client.Send_TeamChat(request);
                //  GlobalVariable.client.SendMessage(request, CommandType.TeamChat);
            }
            else if (chatType == ChatType.GroupChat)
            {
                var request = new GroupChatRequest();
                request.msg             = chatMessage.Message;
                request.SendDisplayName = GlobalVariable.LoginUserInfo.DisplayName;
                request.SendUserName    = groupId;
                request.clientRole      = GlobalVariable.LoginUserInfo.UserType;
                request.MessageType     = chatMessage.MessageType;
                request.DownloadFileUrl = chatMessage.DownloadFileUrl;
                GlobalVariable.client.Send_GroupChat(request);
            }
            //   GlobalVariable.AddPrivateChatToChatList(_userName, GlobalVariable.LoginUserInfo.DisplayName, msg);
            return(true);
        }
Пример #2
0
        private void ReceieveTeamMessage(TeamChatRequest message)
        {
            var request = message.ToChatMessage();

            GlobalVariable.AddNewChat(request);
            OpenOrCreateChatForm(request, true);
        }
Пример #3
0
        public void Send_TeamChat(TeamChatRequest request)
        {
            SendMessage <TeamChatRequest> message = new SendMessage <TeamChatRequest>();

            message.Action = (int)CommandType.TeamChat;
            message.Data   = request;
            Task.Run(async() =>
            {
                await this.SendMessage(message);
            });
        }
Пример #4
0
        public static ChatMessage ToChatMessage(this TeamChatRequest response)
        {
            var request = new ChatMessage();

            request.SendUserName     = response.groupid;
            request.SendDisplayName  = response.SendDisplayName;
            request.ChatType         = ChatType.TeamChat;
            request.Message          = response.msg;
            request.UserType         = response.clientRole;
            request.DownloadFileUrl  = response.DownloadFileUrl;
            request.MessageType      = response.MessageType;
            request.ReceieveUserName = GlobalVariable.LoginUserInfo.UserName;
            return(request);
        }
Пример #5
0
 /// <summary>
 /// 群组聊天
 /// </summary>
 /// <param name="request"></param>
 public void Send_TeamChat(TeamChatRequest request)
 {
     SendMessage(request, CommandType.TeamChat);
 }