//获取本人和对方的话机号码 //get the phoneNos of your own and caller's private void GetPhone() { //7/28 UserConfigBusiness conf = new UserConfigBusiness(); STContact con = new STContact(); int iRet = conf.GetContactInfo(new StringBuilder(SingletonObj.LoginInfo.UserID), ref con); if (iRet == 0) { UcPhoneNo = con.ipphone1_; } string name1 = StringHelper.GetSubString(callName); int iRet1 = conf.GetContactInfo(new StringBuilder(name1), ref con); if (iRet1 == 0) { UcPhoneNo1 = con.ipphone1_; } else //modify by 00327190 2015/9/17 纯话机用户拨打Lync { UcPhoneNo1 = name1; } }
private void btnAdd_Click(object sender, RoutedEventArgs e) { if (txtNumber.Text.ToString().Trim() == "" || txtNumber.Text.ToString()== "") { return; } else { boolnum(txtNumber.Text.ToString()); } if (boolnum(txtNumber.Text.ToString()) == true) { //modify by jinyeqing 00327190 2015/6/10 添加号码时先看是否是UC用户,如果是按照UC帐号添加,不是就按话机号码添加 MakeCallBusiness call = new MakeCallBusiness(); StringBuilder ucName = new StringBuilder(100); string strLyncURI = StringHelper.GetLyncDomainString(SingletonObj.LoginInfo.LyncName); if (call.GetUCAccountByPhoneNo(txtNumber.Text.ToString().Trim(), ucName) != "" && call.GetUCAccountByPhoneNo(txtNumber.Text.ToString().Trim(), ucName) != null) { foreach (DataRow d in dtSelectedContact.Rows) { if (d["Phone"].ToString() == txtNumber.Text.ToString()) { DialogShow.Show(StringHelper.FindLanguageResource("theNumisExist"), StringHelper.FindLanguageResource("error"), 2); return; } if (d["Url"].ToString() == ucName + strLyncURI) //2015/8/6 如果URL 一致,则不添加 { DialogShow.Show(StringHelper.FindLanguageResource("theNameisExist"), StringHelper.FindLanguageResource("error"), 2); return; } } DataRow dr = dtSelectedContact.NewRow(); string str = txtNumber.Text.ToString(); int page=0; GetAllLyncContacts(str, page); dtSource = dtContact.Copy(); string name = ""; //modify by 00327190 2015/8/6 如果号码是UC用户,则连用户名一起查出来,这样为了避免加人重复 UserConfigBusiness conf = new UserConfigBusiness(); STContact con = new STContact(); string name1 = StringHelper.GetSubString(ucName.ToString()); int iRet1 = conf.GetContactInfo(new StringBuilder(name1), ref con); if (0 == iRet1) { name = con.name_; } //modify by 00327190 2015/8/6 如果号码是UC用户,则连用户名一起查出来,这样为了避免加人重复 for (int i = 0; i < dtSource.Rows.Count; i++) { if (dtSource.Rows[i]["URL"].ToString().Trim() == call.GetUCAccountByPhoneNo(txtNumber.Text.ToString(), ucName) + strLyncURI) { name = dtSource.Rows[i]["NAME"].ToString().Trim(); } } dr[0] = name; //2015/8/24 UTF8 转码UNICODE //byte[] buffer1 = Encoding.Default.GetBytes(call.GetUCAccountByPhoneNo(txtNumber.Text.ToString(), ucName)); //byte[] buffer2 = Encoding.Convert(Encoding.UTF8, Encoding.Default, buffer1, 0, buffer1.Length); //string item1 = Encoding.Default.GetString(buffer2, 0, buffer2.Length); //dr[1] = item1 + strLyncURI; dr[1] = call.GetUCAccountByPhoneNo(txtNumber.Text.ToString(), ucName) + strLyncURI; dr[2] = txtNumber.Text.ToString(); dtSelectedContact.Rows.Add(dr); listSelectedContact.DataContext = null; listSelectedContact.DataContext = dtSelectedContact; listSelectedContact.ScrollIntoView(listSelectedContact.Items[dtSelectedContact.Rows.Count - 1], listSelectedContact.Columns[0]); txtName.Text = ""; txtNumber.Text = ""; } //之前没有if ,只有中间的循环体部分 else { foreach (DataRow d in dtSelectedContact.Rows) { if (d["Phone"].ToString() == txtNumber.Text.ToString()) { return; } } DataRow dr = dtSelectedContact.NewRow(); dr[0] = txtName.Text.ToString(); dr[2] = txtNumber.Text.ToString(); dtSelectedContact.Rows.Add(dr); listSelectedContact.DataContext = null; listSelectedContact.DataContext = dtSelectedContact; listSelectedContact.ScrollIntoView(listSelectedContact.Items[dtSelectedContact.Rows.Count - 1], listSelectedContact.Columns[0]); txtName.Text = ""; txtNumber.Text = ""; } //是否是盲转窗体 if (isBlindTransCall) { btnOK_Click(null, null); } } else { lync.winCall.OpenDialogTiming(StringHelper.FindLanguageResource("Invalidnum"), StringHelper.FindLanguageResource("error"), 2); return; } }
/// <summary> /// 设置呼叫前传 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void BtnFWD_Click(object sender, EventArgs e) { try { //通话时不能更改话机联动状态 //You can't change joint type in a call if (Lync.winCall != null) { DialogShow.Show(StringHelper.FindLanguageResource("CannotchangeFWDincall"), StringHelper.FindLanguageResource("error"), 2); return; } else { GetFWDInfo(); UserConfigBusiness conf = new UserConfigBusiness(); STContact con = new STContact(); int iRet = conf.GetContactInfo(new StringBuilder(SingletonObj.LoginInfo.UserID), ref con); if (iRet != (int)UCServiceRetvCode.UC_SDK_Success) { LogManager.SystemLog.Error("GetContactInfo error"); return; } STCallExData data = new STCallExData(); if (!isSetFWDUnCond) { if (string.IsNullOrEmpty(con.mobile_)) { LogManager.SystemLog.Warn("user mobile is null"); Dialog.Show(StringHelper.FindLanguageResource("NoMoblePhone"), StringHelper.FindLanguageResource("error")); return; } data.Num = con.mobile_; LogManager.SystemLog.Info(string.Format("user mobile is {0}", data.Num)); iRet = call.SetCallExService((int)ForwardServiceType.FORWARD_UNCONDITION, data); if (iRet != (int)UCServiceRetvCode.UC_SDK_Success) { LogManager.SystemLog.Error("SetCallExService error"); return; } //查询设置结果 GetFWDInfo(); if (isSetFWDUnCond) { Dialog.Show(StringHelper.FindLanguageResource("FWDSuccess"), StringHelper.FindLanguageResource("Success")); } else { Dialog.Show(StringHelper.FindLanguageResource("FWDFailed"), StringHelper.FindLanguageResource("error")); } } else { iRet = call.SetCallExService((int)ForwardServiceType.FORWARD_UNCONDITION, data); if (iRet != (int)UCServiceRetvCode.UC_SDK_Success) { LogManager.SystemLog.Error("SetCallExService error"); return; } //查询设置结果 GetFWDInfo(); if (!isSetFWDUnCond) { Dialog.Show(StringHelper.FindLanguageResource("CancelFWDSuccess"), StringHelper.FindLanguageResource("Success")); } else { Dialog.Show(StringHelper.FindLanguageResource("CancelFWDFailed"), StringHelper.FindLanguageResource("error")); } } } } catch (System.Exception ex) { LogManager.SystemLog.Error(ex.ToString()); } }
/// <summary> /// 语音邮箱呼叫前传 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void BtnMail_Click(object sender, EventArgs e) { //语音邮箱 //通话时不能更改话机联动状态 //You can't change joint type in a call if (Lync.winCall != null) { DialogShow.Show(StringHelper.FindLanguageResource("Cannotchangemailincall"), StringHelper.FindLanguageResource("error"), 2); return; } else { GetMailFrwInfo(); //7/30 先查询语音邮箱配置 UserConfigBusiness conf = new UserConfigBusiness(); STContact con = new STContact(); int iRet = conf.GetContactInfo(new StringBuilder(SingletonObj.LoginInfo.UserID), ref con); if (iRet != (int)UCServiceRetvCode.UC_SDK_Success) { LogManager.SystemLog.Error("GetContactInfo error"); return; } //7/30 STCallExData data = new STCallExData(); //int iRet = 0; if (!isSetVoiceMailUnCond) { //if (string.IsNullOrEmpty(con.email_)) //{ // LogManager.SystemLog.Warn("email_ is null"); // Dialog.Show(StringHelper.FindLanguageResource("NoVoicemail"), StringHelper.FindLanguageResource("error")); // return; //} //data.Num = con.email_; //2015/8/13 data.Num = "1"; LogManager.SystemLog.Info(string.Format("email_ is {0}", data.Num)); iRet = call.SetCallExService((int)ForwardServiceType.VOICEMAIL_UNCONDITION, data); if (iRet != (int)UCServiceRetvCode.UC_SDK_Success) { LogManager.SystemLog.Error("SetCallExService error"); isSetVoiceMailUnCond = false; Dialog.Show(StringHelper.FindLanguageResource("FWDMailFail"), StringHelper.FindLanguageResource("error")); return; } else { GetMailFrwInfo(); if (isSetVoiceMailUnCond == true) { Dialog.Show(StringHelper.FindLanguageResource("FWDMailSuccess"), StringHelper.FindLanguageResource("Success")); } else { Dialog.Show(StringHelper.FindLanguageResource("FWDMailFail"), StringHelper.FindLanguageResource("error")); } } } else { iRet = call.SetCallExService((int)ForwardServiceType.VOICEMAIL_UNCONDITION, data); if (iRet != (int)UCServiceRetvCode.UC_SDK_Success) { LogManager.SystemLog.Error("SetCallExService error"); isSetVoiceMailUnCond = true; Dialog.Show(StringHelper.FindLanguageResource("CancelFWDMailFail"), StringHelper.FindLanguageResource("error")); return; } else { GetMailFrwInfo(); if (!isSetVoiceMailUnCond) { Dialog.Show(StringHelper.FindLanguageResource("CancelFWDMailSuccess"), StringHelper.FindLanguageResource("Success")); } else { Dialog.Show(StringHelper.FindLanguageResource("CancelFWDMailFail"), StringHelper.FindLanguageResource("error")); } } } } }
private void btnAdd_Click(object sender, RoutedEventArgs e) { if (txtNumber.Text.ToString().Trim() == "" || txtNumber.Text.ToString() == "") { return; } else { boolnum(txtNumber.Text.ToString()); } if (boolnum(txtNumber.Text.ToString()) == true) { //modify by jinyeqing 00327190 2015/6/10 添加号码时先看是否是UC用户,如果是按照UC帐号添加,不是就按话机号码添加 MakeCallBusiness call = new MakeCallBusiness(); StringBuilder ucName = new StringBuilder(100); string strLyncURI = StringHelper.GetLyncDomainString(SingletonObj.LoginInfo.LyncName); if (call.GetUCAccountByPhoneNo(txtNumber.Text.ToString().Trim(), ucName) != "" && call.GetUCAccountByPhoneNo(txtNumber.Text.ToString().Trim(), ucName) != null) { foreach (DataRow d in dtSelectedContact.Rows) { if (d["Phone"].ToString() == txtNumber.Text.ToString()) { DialogShow.Show(StringHelper.FindLanguageResource("theNumisExist"), StringHelper.FindLanguageResource("error"), 2); return; } if (d["Url"].ToString() == ucName + strLyncURI) //2015/8/6 如果URL 一致,则不添加 { DialogShow.Show(StringHelper.FindLanguageResource("theNameisExist"), StringHelper.FindLanguageResource("error"), 2); return; } } DataRow dr = dtSelectedContact.NewRow(); string str = txtNumber.Text.ToString(); int page = 0; GetAllLyncContacts(str, page); dtSource = dtContact.Copy(); string name = ""; //modify by 00327190 2015/8/6 如果号码是UC用户,则连用户名一起查出来,这样为了避免加人重复 UserConfigBusiness conf = new UserConfigBusiness(); STContact con = new STContact(); string name1 = StringHelper.GetSubString(ucName.ToString()); int iRet1 = conf.GetContactInfo(new StringBuilder(name1), ref con); if (0 == iRet1) { name = con.name_; } //modify by 00327190 2015/8/6 如果号码是UC用户,则连用户名一起查出来,这样为了避免加人重复 for (int i = 0; i < dtSource.Rows.Count; i++) { if (dtSource.Rows[i]["URL"].ToString().Trim() == call.GetUCAccountByPhoneNo(txtNumber.Text.ToString(), ucName) + strLyncURI) { name = dtSource.Rows[i]["NAME"].ToString().Trim(); } } dr[0] = name; //2015/8/24 UTF8 转码UNICODE //byte[] buffer1 = Encoding.Default.GetBytes(call.GetUCAccountByPhoneNo(txtNumber.Text.ToString(), ucName)); //byte[] buffer2 = Encoding.Convert(Encoding.UTF8, Encoding.Default, buffer1, 0, buffer1.Length); //string item1 = Encoding.Default.GetString(buffer2, 0, buffer2.Length); //dr[1] = item1 + strLyncURI; dr[1] = call.GetUCAccountByPhoneNo(txtNumber.Text.ToString(), ucName) + strLyncURI; dr[2] = txtNumber.Text.ToString(); dtSelectedContact.Rows.Add(dr); listSelectedContact.DataContext = null; listSelectedContact.DataContext = dtSelectedContact; listSelectedContact.ScrollIntoView(listSelectedContact.Items[dtSelectedContact.Rows.Count - 1], listSelectedContact.Columns[0]); txtName.Text = ""; txtNumber.Text = ""; } //之前没有if ,只有中间的循环体部分 else { foreach (DataRow d in dtSelectedContact.Rows) { if (d["Phone"].ToString() == txtNumber.Text.ToString()) { return; } } DataRow dr = dtSelectedContact.NewRow(); dr[0] = txtName.Text.ToString(); dr[2] = txtNumber.Text.ToString(); dtSelectedContact.Rows.Add(dr); listSelectedContact.DataContext = null; listSelectedContact.DataContext = dtSelectedContact; listSelectedContact.ScrollIntoView(listSelectedContact.Items[dtSelectedContact.Rows.Count - 1], listSelectedContact.Columns[0]); txtName.Text = ""; txtNumber.Text = ""; } //是否是盲转窗体 if (isBlindTransCall) { btnOK_Click(null, null); } } else { lync.winCall.OpenDialogTiming(StringHelper.FindLanguageResource("Invalidnum"), StringHelper.FindLanguageResource("error"), 2); return; } }