Exemplo n.º 1
0
        void ws_InviteChatCompleted(object sender, LiveSupport.OperatorConsole.LiveChatWS.InviteChatCompletedEventArgs e)
        {
            if (e.Error != null)
            {
                Trace.TraceError("ws_InviteChatCompleted Error: " + e.Error.Message);
                //TODO: 通知窗体
                return;
            }

            if (AsyncCallCompleted != null)
            {
                AsyncCallCompleted(this, new AsyncCallCompletedEventArg(e));
            }
        }
Exemplo n.º 2
0
        void operatorServiceAgent_AsyncCallCompleted(object sender, AsyncCallCompletedEventArg e)
        {
            if (e.Result == null)
            {
                return;
            }

            this.Invoke(new UpdateUIDelegate(delegate(object obj)
            {
                if (e.Result.GetType() == typeof(LiveSupport.OperatorConsole.LiveChatWS.SendMessageCompletedEventArgs))
                {
                    LiveSupport.OperatorConsole.LiveChatWS.SendMessageCompletedEventArgs arg = e.Result as LiveSupport.OperatorConsole.LiveChatWS.SendMessageCompletedEventArgs;
                    if (arg != null && arg.Error != null)
                    {
                        LiveSupport.LiveSupportModel.Message m = arg.UserState as LiveSupport.LiveSupportModel.Message;
                        if (m.ChatId == this.chat.ChatId)
                        {
                            string text = "<span style='color: #cccccc; FONT-SIZE: 15px'>" + m.SentDate + "\r\n\r\n可能由于网络原因“" + m.Text + "”消息发送失败。</span><br />";
                            chatMessageViewerControl1.AddText(text);
                        }
                    }
                }
                else if (e.Result.GetType() == typeof(LiveSupport.OperatorConsole.LiveChatWS.AcceptChatRequestCompletedEventArgs))
                {
                    LiveSupport.OperatorConsole.LiveChatWS.AcceptChatRequestCompletedEventArgs arg = e.Result as LiveSupport.OperatorConsole.LiveChatWS.AcceptChatRequestCompletedEventArgs;
                    if (arg.Error == null)
                    {
                        if (arg.Result == -1)
                        {
                            chatMessageViewerControl1.ResetContent("该访客对话请求已被其他客服接受");
                            receiveMessage             = false;
                            txtMsg.Enabled             = false;
                            TextWriterTraceListener tl = new TextWriterTraceListener();
                            return;
                        }
                        else if (arg.Result == -3)
                        {
                            chatMessageViewerControl1.ResetContent("服务器错误");
                            receiveMessage = false;
                            txtMsg.Enabled = false;
                            return;
                        }
                        Directory.CreateDirectory(chat.ChatId);

                        uploadURL = Properties.Settings.Default.FtpURL + "/" + chat.ChatId + "/";
                    }
                    else
                    {
                        chatMessageViewerControl1.ResetContent("可能由于网络原因,接受访客对话请求操作失败");
                        receiveMessage = false;
                        txtMsg.Enabled = false;
                        return;
                    }
                }
                else if (e.Result.GetType() == typeof(LiveSupport.OperatorConsole.LiveChatWS.InviteChatCompletedEventArgs))
                {
                    LiveSupport.OperatorConsole.LiveChatWS.InviteChatCompletedEventArgs arg = e.Result as LiveSupport.OperatorConsole.LiveChatWS.InviteChatCompletedEventArgs;

                    chat = (Chat)Common.Convert(arg.Result);
                    operatorServiceAgent.Chats.Add(chat);
                    Directory.CreateDirectory(chat.ChatId);
                    uploadURL = Properties.Settings.Default.FtpURL + "/" + chat.ChatId + "/";
                }
                else if (e.Result.GetType() == typeof(LiveSupport.OperatorConsole.LiveChatWS.CloseChatCompletedEventArgs))
                {
                    LiveSupport.OperatorConsole.LiveChatWS.CloseChatCompletedEventArgs arg = e.Result as LiveSupport.OperatorConsole.LiveChatWS.CloseChatCompletedEventArgs;
                }
                else if (e.Result.GetType() == typeof(System.ComponentModel.AsyncCompletedEventArgs))
                {
                    System.ComponentModel.AsyncCompletedEventArgs arg = e.Result as System.ComponentModel.AsyncCompletedEventArgs;
                    if (arg.Error != null)
                    {
                        Trace.WriteLine("sendFile exception:" + arg.Error.Message);
                        chatMessageViewerControl1.AddInformation("网络出现问题,暂时无法获取及发送消息");
                    }
                }
            }), e);
        }