/// <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); }
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(); }
//获取呼叫规则 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); } }
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; } } } } }