Пример #1
0
 /// <summary>
 /// 告警回调函数
 /// </summary>
 /// <param name="alarmLevel"></param>
 /// <param name="notify"></param>
 /// <param name="hInstance"></param>
 private void cllBackForAlarm(MBoxSDK.TalkSDK.EnumALARM_LEVEL alarmLevel, MBoxSDK.TalkSDK.MBox_AlarmNotify notify, IntPtr hInstance)
 {
     DB_Talk.Model.Data_Alarm alarmModel = new DB_Talk.Model.Data_Alarm();
     alarmModel.AlarmTypeID = alarmLevel.GetHashCode();
     alarmModel.i_AlarmAckFlag = notify.alarmAckFlag;
     alarmModel.i_AlarmClass = notify.alarmClass;
     alarmModel.i_AlarmEntityInstance = notify.alarmEntityInstance;
     alarmModel.i_AlarmEntityType = notify.alarmEntityType;
     alarmModel.i_AlarmInfo = notify.alarmInfo;
     alarmModel.i_AlarmSeriesNumber = notify.alarmSeriesNumber;
     alarmModel.i_AlarmSeverity = notify.alarmSeverity;
     alarmModel.dt_DateTime = DateTime.Now;
     new DB_Talk.BLL.Data_Alarm().Add(alarmModel);
 }
Пример #2
0
        public static string GetCalledNumbers(MBoxSDK.ConfigSDK.CALLED_RULE_TYPE type, string strSIP_PRI_ID)
        {
            StringBuilder sb = new StringBuilder();
            string strW = string.Format("i_Flag=0 and BoxID={0} and i_CalledType='{1}'",
                             Global.Params.BoxID, type.GetHashCode());
            strW += strSIP_PRI_ID;

            List<DB_Talk.Model.m_CalledRule> lstCR = new DB_Talk.BLL.m_CalledRule().GetModelList(strW);
            foreach (DB_Talk.Model.m_CalledRule item in lstCR)
            {
                sb.Append("," + item.vc_CalledNumber);
            }
            if (sb.Length > 0) sb.Remove(0, 1);
            return sb.ToString();

        }
Пример #3
0
        //获取呼叫规则
        private void GetCalledRule(int SIPID,int PRIID, string strNewOutNumber, string strOldOutNumber, 
            ref  List<DB_Talk.Model.m_CalledRule> lstAdd, ref  List<DB_Talk.Model.m_CalledRule> lstDelete,MBoxSDK.ConfigSDK.CALLED_SUB_RULE_TYPE CalledSubType)
        {
            //出局号码被叫规则
            string mes = "";
            string[] strArrayAdd = strNewOutNumber.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
             //lstAdd = new List<DB_Talk.Model.m_CalledRule>();
            //lstDelete = new List<DB_Talk.Model.m_CalledRule>();
            foreach (string str in strArrayAdd)  //出局规则
            {
                strOldOutNumber=strOldOutNumber.Replace(str, "");  //从旧的引导码中除去新的引导码
                DB_Talk.Model.m_CalledRule m = new DB_Talk.Model.m_CalledRule();
                m.CalledID = 1;
                m.CallingOriID = 1;
                m.vc_CalledNumber = (str);
                int num = 0;
                if (!int.TryParse(str, out num) || num<0 || num > 99999)
                {
                    throw new Exception("号码前缀必须是0~99999之间的数字");
                }
                m.i_CalledType = MBoxSDK.ConfigSDK.CALLED_RULE_TYPE.出局.GetHashCode();  //service
                m.i_CalledSubType = CalledSubType.GetHashCode();// MBoxSDK.ConfigSDK.CALLED_SUB_RULE_TYPE.长途.GetHashCode();
                m.DestRouteID = 0;
                m.i_CalledChangeType = MBoxSDK.ConfigSDK.CALLED_RULE_TransAct.DELETE.GetHashCode();
                m.i_CalledChangePosition = 0;
                m.i_CalledChangeLength = str.Length;
                m.vc_CalledChangeTarget = "";
                m.i_SIPID = SIPID;
                m.i_PRIID = PRIID;
                m.BoxID = Global.Params.BoxID;
                //if (!new Tools.MBoxOperate().IsExitCalledRule(m)) lst.Add(m);
                //if (new Tools.MBoxOperate().IsExitCalledRule(m, out mes) && mes != "")
                //{
                //    throw (new Exception("已经存在被叫号码为【" + mes + "】的呼叫规则!"));
                //}
                List<DB_Talk.Model.m_CalledRule> lstTemp = new DB_Talk.BLL.m_CalledRule().GetModelList(
                            string.Format(" i_Flag=0 and vc_CalledNumber='{0}' and BoxID='{1}'", 
                            m.vc_CalledNumber, Global.Params.BoxID));
                if (lstTemp.Count > 0)
                { 
                    if(m.Equals(lstTemp[0]))  //完全相同
                    {

                    }
                    else if (m.vc_CalledNumber == lstTemp[0].vc_CalledNumber)  //引导码相同
                    {
                        throw (new Exception("已经存在被叫号码为【" + m.vc_CalledNumber + "】的呼叫规则!"));
                    }
                } 
                else
                    lstAdd.Add(m);
            }

            string[] strArrayDelete = strOldOutNumber.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
            foreach (string str in strArrayDelete)  //出局规则
            {
                DB_Talk.Model.m_CalledRule m = new DB_Talk.Model.m_CalledRule();
                m.CalledID = 1;
                m.CallingOriID = 1;
                m.vc_CalledNumber = (str);
                m.i_CalledType = MBoxSDK.ConfigSDK.CALLED_RULE_TYPE.出局.GetHashCode();  //service
                m.i_CalledSubType = CalledSubType.GetHashCode();// MBoxSDK.ConfigSDK.CALLED_SUB_RULE_TYPE.长途.GetHashCode();
                m.DestRouteID = 0;
                m.i_CalledChangeType = MBoxSDK.ConfigSDK.CALLED_RULE_TransAct.DELETE.GetHashCode();
                m.i_CalledChangePosition = 0;
                m.i_CalledChangeLength = str.Length;
                m.vc_CalledChangeTarget = "";
                m.BoxID = Global.Params.BoxID;

                lstDelete.Add(m);
            }

        }
Пример #4
0
 private void InitcmbSubType(MBoxSDK.ConfigSDK.CALLED_RULE_TYPE CalledType)
 {
     
     //呼叫子类型
     System.Data.DataTable dtSubType = new DataTable();
     dtSubType.Columns.Add("ID");
     dtSubType.Columns.Add("vc_Name");
     if (CalledType == MBoxSDK.ConfigSDK.CALLED_RULE_TYPE.入局)
     {
         dtSubType.Rows.Add(MBoxSDK.ConfigSDK.CALLED_SUB_RULE_TYPE.SUB.GetHashCode(), MBoxSDK.ConfigSDK.CALLED_SUB_RULE_TYPE.SUB.ToString());
     }
     else if (CalledType == MBoxSDK.ConfigSDK.CALLED_RULE_TYPE.出局)
     {
         dtSubType.Rows.Add(MBoxSDK.ConfigSDK.CALLED_SUB_RULE_TYPE.市话.GetHashCode(), MBoxSDK.ConfigSDK.CALLED_SUB_RULE_TYPE.市话.ToString());
         dtSubType.Rows.Add(MBoxSDK.ConfigSDK.CALLED_SUB_RULE_TYPE.长途.GetHashCode(), MBoxSDK.ConfigSDK.CALLED_SUB_RULE_TYPE.长途.ToString());
     }
     cmbCallSubType.DataSource = dtSubType;
     cmbCallSubType.DisplayMember = "vc_Name";
     cmbCallSubType.ValueMember = "ID";
     cmbCallSubType.SelectedIndex = -1;
     cmbCallSubType.SelectedIndex = 0;
     if (_operate == 1)
     {
         if (_mModel.i_CalledSubType > 0)
         {
             foreach (DataRowView d in cmbCallSubType.Items)
             {
                 if (d["ID"].ToString() == _mModel.i_CalledSubType.ToString())
                 {
                     cmbCallSubType.SelectedItem = d;
                     break;
                 }
             }
         }
     }
 }