示例#1
0
 /// 咨询接受时,客服和用户联通时触发
 /// <summary>
 /// 咨询接受时,客服和用户联通时触发
 /// </summary>
 /// <param name="callback"></param>
 private void AgentToCustomerCallBack(Action <object> callback)
 {
     //由PS10_咨询方通话_接受者变成【PS08_普通通话】【PS12_会议方通话_接受者】任意一种情况时,触发
     AfterActionEventManage.RegisterOnceAfterActionEvent2(PhoneStatus.PS10_咨询方通话_接受者,
                                                          new List <PhoneStatus>()
     {
         PhoneStatus.PS08_普通通话, PhoneStatus.PS12_会议方通话_接受者
     }, callback, null, "咨询接受时,客服和用户联通时触发");
 }
示例#2
0
        /// 置闲完成后触发事件
        /// <summary>
        /// 置闲完成后触发事件
        /// </summary>
        /// <param name="callback"></param>
        private void AfterToReadyCallBack(Action <object> callback, string name)
        {
            //当前状态
            PhoneStatus cur = HollyContactHelper.ConvertPhoneStatus(HollyContactHelper.Instance.GetCurStatus());

            //判断是异步触发还是同步触发
            if (cur != PhoneStatus.PS03_置闲)
            {
                HollyContactHelper.Instance.ToReady();
                //注册事件,当状态有cur变成【PS03_置闲】时触发
                AfterActionEventManage.RegisterOnceAfterActionEvent1(cur, PhoneStatus.PS03_置闲, callback, null, "置闲完成后触发事件-" + name);
            }
            else
            {
                callback(null);
            }
        }
示例#3
0
        /// 状态变化事件
        /// <summary>
        /// 状态变化事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void AxUniSoftPhone_OnStatusChange(object sender, EventArgs e)
        {
            Loger.Log4Net.Info("[事件][AxUniSoftPhone_OnStatusChange] 状态变化事件");

            PhoneStatus pre = HollyContactHelper.ConvertPhoneStatus(HollyContactHelper.Instance.GetPreStatus());
            PhoneStatus cur = HollyContactHelper.ConvertPhoneStatus(HollyContactHelper.Instance.GetCurStatus());

            //优先级从高到低
            //更新客服状态表
            UpdatAgentDBAsync(HollyContactHelper.ConvertAgentState(cur));
            //操作完成事件触发
            AfterActionEventManage.ActionEvent(pre, cur);
            //设置界面
            SetMainStatus(cur);
            //设置状态条
            ShowStatusTool(cur, HollyContactHelper.ConvertAgentState(cur));
        }
示例#4
0
 /// 退出话后时执行
 /// <summary>
 /// 退出话后时执行
 /// </summary>
 /// <param name="callback"></param>
 private void ExitAfterCallCallBack(Action <object> callback)
 {
     //话后状态到其他状态时执行
     AfterActionEventManage.RegisterOnceAfterActionEvent2(PhoneStatus.PS06_话后, null, callback, null, "退出话后时执行-更新话后信息");
 }
示例#5
0
 /// 到达话后时触发
 /// <summary>
 /// 到达话后时触发
 /// </summary>
 /// <param name="callback"></param>
 private void ToAfterCallCallBack(Action <object> callback)
 {
     //从任意状态->话后
     AfterActionEventManage.RegisterOnceAfterActionEvent1(null, PhoneStatus.PS06_话后, callback, null, "到达话后时触发-呼出结束话后");
 }
示例#6
0
 /// 取消转接成功后触发事件
 /// <summary>
 /// 取消转接成功后触发事件
 /// </summary>
 /// <param name="callback"></param>
 private void EndConsultCallBack(Action <object> callback)
 {
     //从咨询发起状态->普通通话状态
     AfterActionEventManage.RegisterOnceAfterActionEvent1(PhoneStatus.PS09_咨询通话_发起方, PhoneStatus.PS08_普通通话, callback, null, "取消转接成功后触发");
 }
示例#7
0
 /// 开始转接成功后触发事件
 /// <summary>
 /// 开始转接成功后触发事件
 /// </summary>
 /// <param name="callback"></param>
 private void BeginConsultCallBack(Action <object> callback)
 {
     //从任意状态->咨询发起状态
     AfterActionEventManage.RegisterOnceAfterActionEvent1(null, PhoneStatus.PS09_咨询通话_发起方, callback, null, "开始转接成功后触发");
 }