Ejemplo n.º 1
0
 public int AddWordProvider(LiveSupport.LiveSupportModel.LeaveWord lw)
 {
     try
     {
         string sql = string.Format(
        " INSERT INTO [LiveSupport].[dbo].[LiveSupport_LeaveWord]"
       + " ([Id]"
       + " ,[CallerName]"
       + " ,[Email]"
       + " ,[Phone]"
        + ",[Subject]"
        + ",[Content]"
        + ",[IP]"
        + ",[CallerDate]"
        + ",[Senddate]"
        + ",[OperatorName]"
        + ",[AccountId]"
        + ",[IsReplied]"
        + ",[DomainName]) "
        + " VALUES('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}','{12}') ", lw.Id, lw.CallerName, lw.Email, lw.Phone, lw.Subject, lw.Content, lw.Ip, lw.CallerDate, lw.Senddate, lw.OperatorName, lw.Account.AccountId,lw.IsReplied,lw.DomainName);
         return DBHelper.ExecuteSql(sql);
     }
     catch (Exception ex)
     {
         return 0;
     }
 }
Ejemplo n.º 2
0
 public static bool AddWordProvider(LiveSupport.LiveSupportModel.LeaveWord lw)
 {
     int i = 0;
     i=Provider.AddWordProvider(lw);
     if (i != 0)
         return true;
     else
         return false;
 }
Ejemplo n.º 3
0
    public override List<ChatRequestInfo> GetChatRequests(LiveSupport.DAL.Entity.Operator op)
    {
        bool cacheExists;
        List<ChatRequestInfo> results = new List<ChatRequestInfo>();

        foreach (ChatRequestInfo req in GetCurrentRequest(out cacheExists))
        {
            if (req.AcceptByOpereratorId == op.Id)
                results.Add(req);
        }

        return results;
    }
Ejemplo n.º 4
0
 public void AddMessage(LiveSupport.LiveSupportModel.Message message)
 {
     string msg =string.Empty;
     if (API.FromSystem(message))
     {
         msg = string.Format("<span style='color: #FF9933; FONT-SIZE: 13px'> {0}</span><br />",message.Text);
         //ucm.GetMessage(msg, " ");
     }
     if (message.Type == MessageType.ChatMessage_VistorToOperator)
     {
         msg = string.Format("<span style='font-family: Arial;color:#008040;font-weight: bold;font-size: 12px;'>{0} </span><br/><span style='font-family: Arial;font-size: 12px;'>{1}</span><br />", message.Source + "&nbsp;&nbsp;&nbsp;" + message.SentDate.ToString("hh:mm:ss"), message.Text);
         //ucm.GetMessage(msg, " ");
     }
     if (message.Type == MessageType.ChatMessage_OperatorToVisitor)
     {
         msg = string.Format("<span style='font-family: Arial;color:blue;font-weight: bold;font-size: 12px;'>{0} </span><br/><span style='font-family: Arial;font-size: 12px;'>{1}</span><br />", message.Source + "&nbsp;&nbsp;&nbsp;" + message.SentDate.ToString("hh:mm:ss"), message.Text);
       //ucm.GetMessage(msg, " ");
     }
     AddText(msg);
     wb.Document.Window.ScrollTo(wb.Document.Body.ScrollRectangle.Left, wb.Document.Body.ScrollRectangle.Height);
 }
Ejemplo n.º 5
0
        void ws_GetQuickResponseByDomainNameCompleted(object sender, LiveSupport.OperatorConsole.LiveChatWS.GetQuickResponseByDomainNameCompletedEventArgs e)
        {
            if (e.Error != null)
            {
                Trace.TraceError("ws_GetQuickResponseByDomainNameCompleted Error: " + e.Error.Message);
                //TODO: 通知窗体
                return;
            }

            List<QuickResponseCategory> qcs = new List<QuickResponseCategory>();
            foreach (var item in e.Result)
            {
                qcs.Add(Common.Convert(item) as QuickResponseCategory);
            }
            quickResponseCategorys[e.UserState.ToString()] = qcs;

            if (DataLoadCompleted != null)
            {
                DataLoadCompleted(this, new DataLoadCompletedEventArgs(DataLoadEventType.QuickResponseByDomainName));
            }
        }
Ejemplo n.º 6
0
        void ws_GetHistoryChatMessageCompleted(object sender, LiveSupport.OperatorConsole.LiveChatWS.GetHistoryChatMessageCompletedEventArgs e)
        {
            if (e.Error != null)
            {
                Trace.TraceError("ws_GetHistoryChatMessageCompleted Error: " + e.Error.Message);
                //TODO: 通知窗体
                return;
            }

            List<Message> lMessage = new List<Message>();

            foreach (var item in e.Result)
            {
                lMessage.Add(Common.Convert(item) as Message);
            }
            if (AsyncCallCompleted != null)
            {
                AsyncCallCompleted(this, new AsyncCallCompletedEventArg(e));
            }
        }
Ejemplo n.º 7
0
        void ws_GetAccountDomainsCompleted(object sender, LiveSupport.OperatorConsole.LiveChatWS.GetAccountDomainsCompletedEventArgs e)
        {
            if (e.Error != null)
            {
                Trace.TraceError("ws_GetAccountDomainsCompleted Error: " + e.Error.Message);
                //TODO: 通知窗体
                return;
            }

            domainNames = new List<string>(e.Result);
            foreach (var item in domainNames)
            {
                GetQuickResponseByDomainName(item);
            }
            if (DataLoadCompleted != null)
            {
                DataLoadCompleted(this, new DataLoadCompletedEventArgs(DataLoadEventType.AccountDomains));
            }
        }
Ejemplo n.º 8
0
        void ws_GetLeaveWordCompleted(object sender, LiveSupport.OperatorConsole.LiveChatWS.GetLeaveWordCompletedEventArgs e)
        {
            if (e.Error != null)
            {
                Trace.TraceError("ws_GetLeaveWordCompleted Error: " + e.Error.Message);
                //TODO: 通知窗体
                return;
            }

            leaveWords.Clear();
            foreach (var item in e.Result)
            {
                LeaveWord lw = Common.Convert(item) as LeaveWord;
                if (string.IsNullOrEmpty(lw.DomainName))
                {
                    List<LeaveWord> lws = new List<LeaveWord>();
                    lws.Add(lw);
                    leaveWords[""] = lws;
                }
                else if (leaveWords.ContainsKey(lw.DomainName))
                {
                    leaveWords[lw.DomainName].Add(lw);
                }
                else
                {
                    List<LeaveWord> lws = new List<LeaveWord>();
                    lws.Add(lw);
                    leaveWords[lw.DomainName] = lws;
                }
            }

            if (DataLoadCompleted != null)
            {
                DataLoadCompleted(this, new DataLoadCompletedEventArgs(DataLoadEventType.LeaveWord));
            }
        }
Ejemplo n.º 9
0
        void ws_GetLeaveWordNotRepliedCompleted(object sender, LiveSupport.OperatorConsole.LiveChatWS.GetLeaveWordNotRepliedCompletedEventArgs e)
        {
            if (e.Error != null)
            {
                Trace.TraceError("ws_GetLeaveWordNotRepliedCompleted Error: " + e.Error.Message);
                //TODO: 通知窗体
                return;
            }

            List<LeaveWord> leaveWords = new List<LeaveWord>();

            foreach (var item in e.Result)
            {
                leaveWords.Add(Common.Convert(item) as LeaveWord);
            }
            if (AsyncCallCompleted != null)
            {
                AsyncCallCompleted(this, new AsyncCallCompletedEventArg(e));
            }
        }
Ejemplo n.º 10
0
        void ws_LoginCompleted(object sender, LiveSupport.OperatorConsole.LiveChatWS.LoginCompletedEventArgs e)
        {
            if (e.Error == null)
            {
                currentOperator = (Operator)Common.Convert(e.Result);

                if (currentOperator != null)
                {
                    LiveSupport.OperatorConsole.LiveChatWS.AuthenticationHeader h = new LiveSupport.OperatorConsole.LiveChatWS.AuthenticationHeader();
                    h.OperatorId = currentOperator.OperatorId;
                    h.OperatorSession = currentOperator.OperatorSession;
                    ws.AuthenticationHeaderValue = h;

                    socketHandler = new SocketHandler();
                    if (Properties.Settings.Default.OperatorConsole_LiveChatWS_Operator.ToLower().Contains("localhost"))
                    {
                        socket = socketHandler.Connect("127.0.0.1");
                    }
                    else
                    {
                        IPHostEntry entry = Dns.GetHostEntry("lcs.zxkefu.cn");
                        socket = socketHandler.Connect(entry.AddressList[0].ToString());
                    }

                    socketHandler.DataArrive += new EventHandler<DataArriveEventArgs>(socketHandler_DataArrive);
                    socketHandler.Exception += new EventHandler<ExceptionEventArgs>(socketHandler_Exception);
                    socketHandler.SendPacket(socket, new LoginAction(currentOperator.OperatorId));

                    fireConnectStateChange(ConnectionState.Connected, "登录成功");
                    timerAction = TimerAction.HeartBeat;
                    timer.Enabled = true;
                    ws.GetSystemAdvertiseAsync(productVersion, Guid.NewGuid());
                    ws.GetLeaveWordAsync(Guid.NewGuid());
                    ws.GetAllVisitorsAsync(currentOperator.AccountId, Guid.NewGuid());
                    ws.GetAllOperatorsAsync(Guid.NewGuid());
                    ws.GetAccountDomainsAsync(Guid.NewGuid());
                    //Disable the timer checkNewChangesTimer.Enabled = true;
                }
                else
                {
                    fireConnectStateChange(ConnectionState.Disconnected, "登录失败,登录信息输入错误");
                }
            }
            else
            {
                fireConnectStateChange(ConnectionState.Disconnected, "登录失败," + e.Error.Message);
            }
        }
Ejemplo n.º 11
0
 public int UpdateOperator(LiveSupport.LiveSupportModel.Operator op)
 {
     throw new NotImplementedException();
 }
Ejemplo n.º 12
0
        public void RecieveMessage(LiveSupport.LiveSupportModel.Message message)
        {
            if (!this.IsDisposed && receiveMessage)
            {
                chatMessageViewerControl1.AddMessage(message);

                if (!this.ringToolStripMenuItem.Checked)
                {
                    PlayMsgSound();
                }
                if (!this.flashToolStripMenuItem.Checked)
                {
                    API.FlashWindowEx(this.Handle);
                }
            }
        }
Ejemplo n.º 13
0
 public void SendMessage(LiveSupport.LiveSupportModel.Message msg)
 {
     msg.Text = "Echo > " + msg.Text;
     NewMessage(this, new ChatMessageEventArgs(msg));
 }
Ejemplo n.º 14
0
 public void NewSession(LiveSupport.LiveSupportModel.VisitSession session)
 {
     Sessions.Add(session);
 }
Ejemplo n.º 15
0
 void ws_SendMessageCompleted(object sender, LiveSupport.OperatorConsole.LiveChatWS.SendMessageCompletedEventArgs e)
 {
     if (e.Error != null)
     {
         Trace.TraceError("ws_SendMessageCompleted Error: " + e.Error.Message);
         //TODO: 通知窗体
         return;
     }
     if (AsyncCallCompleted != null)
     {
         AsyncCallCompleted(this, new AsyncCallCompletedEventArg(e));
     }
 }
Ejemplo n.º 16
0
        void ws_GetAllOperatorsCompleted(object sender, LiveSupport.OperatorConsole.LiveChatWS.GetAllOperatorsCompletedEventArgs e)
        {
            if (e.Error != null)
            {
                Trace.TraceError("ws_GetAllOperatorsCompleted Error: " + e.Error.Message);
                //TODO: 通知窗体
                return;
            }

            List<Operator> ops = new List<Operator>();
            for (int i = 0; i < e.Result.Length; i++)
            {
                ops.Add((Operator)Common.Convert(e.Result[i]));
            }

            operators = ops;
            if (DataLoadCompleted != null)
            {
                DataLoadCompleted(this, new DataLoadCompletedEventArgs(DataLoadEventType.Operators));
            }

        }
Ejemplo n.º 17
0
 public void AddChat(LiveSupport.LiveSupportModel.Chat chatRequest)
 {
     throw new NotImplementedException();
 }
Ejemplo n.º 18
0
        void ws_GetSystemAdvertiseCompleted(object sender, LiveSupport.OperatorConsole.LiveChatWS.GetSystemAdvertiseCompletedEventArgs e)
        {
            if (e.Error != null)
            {
                Trace.TraceError("ws_GetSystemAdvertiseCompleted Error: " + e.Error.Message);
                //TODO: 通知窗体
                return;
            }

            foreach (var item in e.Result)
            {
                systemAdvertise.Add(Common.Convert(item) as SystemAdvertise);
            }

            if (DataLoadCompleted != null)
            {
                DataLoadCompleted(this, new DataLoadCompletedEventArgs(DataLoadEventType.SystemAdvertise));
            }
        }
Ejemplo n.º 19
0
 public int CloseChat(LiveSupport.LiveSupportModel.Chat chat)
 {
     throw new NotImplementedException();
 }