/// <summary> /// 设置会议室名称 /// </summary> public void GetMeetRoomDisplay() { try { if (!DetectionManage.TestNetConnectity(Constant.MeetingInfoWebSiteIP)) { return; } //创建客户端对象模型实例 MainWindow.clientContextManage.CreateClient(Constant.MeetingInfoWebSiteUri, Constant.UserName, Constant.Password, Constant.Domain); //查询语句 string query = "<View><Query><Where> <Eq> <FieldRef Name='ID' /> <Value Type='Counter'>" + Constant.MeetRoomID + "</Value></Eq></Where></Query></View>"; //获取会议室数据数据源 var rooInfo = MainWindow.clientContextManage.ClientGetDic(Constant.MeetingInfoWebSiteUri, Constant.meetRoomListName, query); //查看是否包含该字段类型 if (rooInfo.Count > 0 && rooInfo[0].ContainsKey("Room_Name")) { this.txtRoom_Name.Text = Convert.ToString(rooInfo[0]["Room_Name"]); } } catch (Exception ex) { LogManage.WriteLog(this.GetType(), ex); } finally { } }
/// <summary> /// 登陆前先进行判断(是否连接网络,是否能够连接服务器) /// </summary> private bool Check_NetWorkEnviroment() { bool netWorkIsOk = true; try { new Thread((o) => { try { //验证是否能够访问LYNC扩展web服务(研讨服务) if (!DetectionManage.IsWebServiceAvaiable(SpaceCodeEnterEntity.SpaceServiceAddress)) { //this.ShowNetWorkIsNotThrow("会议服务器访问失败,请及时联系管理员"); this.Dispatcher.BeginInvoke(new Action(() => { this.NetWorkTip = "服务器访问失败,请及时联系管理员"; WarningGridVisibilityStoryboard.Begin(); netWorkIsOk = false; })); } else { this.Dispatcher.BeginInvoke(new Action(() => { WarningGridHiddenStoryboard.Begin(); })); } } catch (Exception ex) { LogManage.WriteLog(this.GetType(), ex); } finally { } }) { IsBackground = true }.Start(); } catch (Exception ex) { LogManage.WriteLog(this.GetType(), ex); } finally { } return(netWorkIsOk); }
/// <summary> /// 登陆前先进行判断(是否连接网络,是否能够连接服务器) /// </summary> private bool Check_NetWorkEnviroment() { bool netWorkIsOk = true; try { //验证是否能够访问AD if (!DetectionManage.TestNetConnectity(Constant.DNS1)) { this.ShowNetWorkIsNotThrow("AD服务器连接失败,请及时联系管理员"); netWorkIsOk = false; } //lync服务是否可以访问 bool lyncServiceCanVisit = false; //验证某个IP是否可ping通 if (DetectionManage.TestNetConnectity(Constant.LyncIP1) || DetectionManage.TestNetConnectity(Constant.LyncIP2)) { lyncServiceCanVisit = true; } //验证是否能够访问LYNC服务器 if (!lyncServiceCanVisit) { this.ShowNetWorkIsNotThrow("Lync服务器连接失败,请及时联系管理员"); netWorkIsOk = false; } //验证是否能够访问外围服务器 if (!DetectionManage.TestNetConnectity(Constant.TreeServiceIP)) { this.ShowNetWorkIsNotThrow("会议服务器连接失败,请及时联系管理员"); netWorkIsOk = false; } //验证是否能够访问LYNC扩展web服务(研讨服务) if (!DetectionManage.IsWebServiceAvaiable(Constant.TreeServiceAddressFront + Constant.ConferenceTreeServiceWebName)) { this.ShowNetWorkIsNotThrow("会议服务器访问失败,请及时联系管理员"); netWorkIsOk = false; } } catch (Exception ex) { LogManage.WriteLog(this.GetType(), ex); } finally { } return(netWorkIsOk); }
/// <summary> /// 登陆前先进行判断(是否连接网络,是否能够连接服务器) /// </summary> private bool Check_NetWorkEnviroment() { bool netWorkIsOk = true; try { new Thread((o) => { try { //验证是否能够访问LYNC扩展web服务(研讨服务) if (!DetectionManage.IsWebServiceAvaiable(SpaceCodeEnterEntity.SpaceServiceAddress)) { this.ShowNetWorkIsNotThrow("会议服务器访问失败,请及时联系管理员"); netWorkIsOk = false; } } catch (Exception ex) { LogManage.WriteLog(this.GetType(), ex); } finally { } }) { IsBackground = true }.Start(); } catch (Exception ex) { LogManage.WriteLog(this.GetType(), ex); } finally { } return(netWorkIsOk); }
/// <summary> /// 会议信息数据填充 /// </summary> public void MeetingInfoFill() { try { if (!DetectionManage.TestNetConnectity(Constant.MeetingInfoWebSiteIP)) { return; } //查询语句 string query = "<View><Query><Where><And><Eq><FieldRef Name='Conf_WorkshopId' /><Value Type='Text'>" + Constant.MeetRoomID + "</Value></Eq><And><Geq><FieldRef Name='Conf_EndTime'/><Value IncludeTimeValue='TRUE' Type='DateTime'>" + DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ssZ") + "</Value></Geq><Eq><FieldRef Name='Conf_ReleaseState' /><Value Type='Text'>审批成功</Value></Eq></And></And></Where><OrderBy><FieldRef Name='Conf_EndTime' Ascending='True' /></OrderBy></Query></View>"; //获取会议数据数据源 var meetingInfoList = MainWindow.clientContextManage.ClientGetEntityList <MeetingInfoEntity>(Constant.MeetingInfoWebSiteUri, Constant.meetInfoListName, query); //加载数据前先进行清空 this.stackPanel.Children.Clear(); //遍历会议信息源 foreach (var item in meetingInfoList) { //生成会议信息子项 MeetingInfoItem_View meetingInfoEntity = new MeetingInfoItem_View(); //填充会议信息子项 meetingInfoEntity.DataBinding(item); //父容器添加子项 this.stackPanel.Children.Add(meetingInfoEntity); } } catch (Exception ex) { LogManage.WriteLog(this.GetType(), ex); } finally { } }
/// <summary> /// 登陆 /// </summary> private void Login() { try { if (string.IsNullOrEmpty(this.txtUser.Text)) { this.CodeOrUsingIsNull("请输入用户名"); return; } if (string.IsNullOrEmpty(this.pwd.Password)) { this.CodeOrUsingIsNull("请输入密码"); return; } LyncHelper.IsSignedOutDoSomeThing(new Action(() => { MainWindow.CanSigined = true; })); //嵌入条件判断(lync实例是否存在) if (MainWindow.CanSigined) { #region 登陆前先进行判断(是否连接网络,是否能够连接服务器) //验证是否能够访问AD if (!DetectionManage.TestNetConnectity(Constant.DNS1)) { this.ShowNetWorkIsNotThrow("AD服务器连接失败,请及时联系管理员"); return; } bool lyncServiceCanVisit = false; if (DetectionManage.TestNetConnectity(Constant.LyncIP1) || DetectionManage.TestNetConnectity(Constant.LyncIP2)) { lyncServiceCanVisit = true; } //验证是否能够访问LYNC服务器 if (!lyncServiceCanVisit) { this.ShowNetWorkIsNotThrow("Lync服务器连接失败,请及时联系管理员"); return; } //验证是否能够访问外围服务器 if (!DetectionManage.TestNetConnectity(Constant.TreeServiceIP)) { this.ShowNetWorkIsNotThrow("会议服务器连接失败,请及时联系管理员"); return; } //验证是否能够访问LYNC扩展web服务(研讨服务) if (!DetectionManage.IsWebServiceAvaiable(Constant.TreeServiceAddressFront + Constant.ConferenceTreeServiceWebName)) { this.ShowNetWorkIsNotThrow("会议服务器访问失败,请及时联系管理员"); return; } #endregion //邮件地址 var email = this.txtUser.Text.Trim() + "@" + Constant.UserDomain; ModelManage.ConferenceInfo.CheckUserIsOnline(email, new Action <bool>((isOnline) => { if (isOnline) { this.CodeOrUsingIsNull("当前用户已在线"); return; } else { //登陆编辑区域设置为不可用 this.LoginPanelIsEnable = false; //lync状态设置 LyncHelper.LyncStateSetting(this.StateIndex); //lync嵌入 LyncHelper.LyncSignning(email, this.pwd.Password, StartSignIn); } })); } else { } } catch (Exception ex) { //出现异常,关闭登陆提示 this.IsLogining = System.Windows.Visibility.Collapsed; //将登陆编辑区域恢复为可用状态 this.LoginButtonIsEnable(); LogManage.WriteLog(this.GetType(), ex); } finally { } }
/// <summary> /// 环境配置2(获取会议信息,持久层信息绑定【config】) /// </summary> public void LoginEnviromentInit3() { try { if (DetectionManage.TestNetConnectity(Constant.TreeServiceIP)) { //验证是否能够访问LYNC扩展web服务(研讨服务) if (DetectionManage.IsWebServiceAvaiable(Constant.TreeServiceAddressFront + Constant.ConferenceTreeServiceWebName)) { if (CheckLoginInitCompleatetimer != null) { this.CheckLoginInitCompleatetimer.Stop(); this.CheckLoginInitCompleatetimer = null; } //获取客户端配置信息 ModelManage.ConferenceInfo.GetClientAppConfig(new Action <bool, ConferenceModel.ConferenceInfoWebService.ClientConfigEntity>((successed, result) => { if (successed) { #region 配置本地环境 //客户端配置信息加载 this.AppconfigSetting(result); //客户端配置信息加载2 this.AppconfigSetting_Part(result); #region old solution ////防火墙规则添加(研讨客户端) //FireManage.OpenFireWall(Constant.FireName_Conference, Constant.ApplicationFullName); ////防火墙规则添加(版本更新) //FireManage.OpenFireWall(Constant.FireName_ConferenceUpdate, Constant.ConferenceVersionUpdateExe); ////验证并安装lync相关证书 //CertificationManage.SetUpCertification(Constant.CertificationSerial, Constant.Certification); //检测并开启rpc本地服务 //LocalServiceManage.CheckRunRpcService(); //设置证书(不检查发行商的证书是否吊销,不检查服务器证书吊销) //RegeditManage.SetNoCheckCertificationIsRevoke(); //指定webbrowser版本(9.0) //RegeditManage.SetWebBrowserVersion(Constant.ApplicationSingleName); #endregion //设置DNS NetWorkAdapter.SetNetworkAdapter(Constant.DNS1); //确保PainFramework.dll存在系统目录 FileManage.CheckDebugHasTheFile(Constant.PaintFileName, Constant.FileRoot); #endregion //获取信息成功 GetClientAppConfigSuccessedDealWidth(); } })); } } else { //获取信息失败 GetClientAppConfigFailedDealWidth(); } } catch (Exception ex) { LogManage.WriteLog(this.GetType(), ex); } finally { } }
/// <summary> /// 检测通讯连接 /// </summary> protected void CheckAndRepairClientSocekt(Action <NetWorkErrTipType> CallBack) { try { DispatcherTimer timer = new DispatcherTimer(); timer.Interval = TimeSpan.FromSeconds(2.5); timer.Tick += (object sender, EventArgs e) => { ThreadPool.QueueUserWorkItem((o) => { try { if (DetectionManage.TestNetConnectity(Constant.RouteIp)) { if (DetectionManage.TestNetConnectity(Constant.TreeServiceIP)) { if (DetectionManage.IsWebServiceAvaiable(Constant.TreeServiceAddressFront + Constant.ConferenceTreeServiceWebName)) { this.Dispatcher.BeginInvoke(new Action(() => { CallBack(NetWorkErrTipType.Normal); })); //知识树通讯修复 this.Repair_ClientSocket(this.TreeClientSocket, ConferenceClientAcceptType.ConferenceTree, ViewSelectedItemEnum.Tree); //信息交流通讯修复 this.Repair_ClientSocket(this.AudioClientSocket, ConferenceClientAcceptType.ConferenceAudio, ViewSelectedItemEnum.IMM); //文件通讯修复 this.Repair_ClientSocket(this.FileClientSocket, ConferenceClientAcceptType.ConferenceFileSync, ViewSelectedItemEnum.None); //信息通讯修复 this.Repair_ClientSocket(this.InfoClientSocket, ConferenceClientAcceptType.ConferenceInfoSync, ViewSelectedItemEnum.None); //矩阵通讯修复 this.Repair_ClientSocket(this.MatrixClientSocket, ConferenceClientAcceptType.ConferenceMatrixSync, ViewSelectedItemEnum.None); //lync通讯修复 this.Repair_ClientSocket(this.LyncClientSocket, ConferenceClientAcceptType.LyncConversationSync, ViewSelectedItemEnum.None); //office通讯修复 this.Repair_ClientSocket(this.SpaceClientSocket, ConferenceClientAcceptType.ConferenceSpaceSync, ViewSelectedItemEnum.None); this.Dispatcher.BeginInvoke(new Action(() => { if (MainWindow.mainWindow.Top != 0) { MainWindow.mainWindow.Top = 0; } if (MainWindow.mainWindow.Left != 0) { MainWindow.mainWindow.Left = 0; } //强制导航到资源共享 MainWindow.MainPageInstance.ForceToNavicate(this.ViewSelectedItemEnum); })); } else { this.Dispatcher.BeginInvoke(new Action(() => { CallBack(NetWorkErrTipType.ConnectedWebServiceFailed); })); } } else { this.Dispatcher.BeginInvoke(new Action(() => { CallBack(NetWorkErrTipType.ConnectedServiceFailed); })); } } else { this.Dispatcher.BeginInvoke(new Action(() => { CallBack(NetWorkErrTipType.ConnectedRouteFailed); })); } } catch (Exception ex) { LogManage.WriteLog(this.GetType(), ex); } finally { } }); }; timer.Start(); } catch (Exception ex) { LogManage.WriteLog(this.GetType(), ex); } finally { } }
/// <summary> /// 登陆 /// </summary> private void Login() { try { if (string.IsNullOrEmpty(this.txtUserName.Text)) { this.CodeOrUserIsNull("*请输入用户名"); return; } if (string.IsNullOrEmpty(this.txtPassword.Password)) { this.CodeOrUserIsNull("*请输入密码"); return; } TimerJob.StartRun(new Action(() => { //显示登陆提示(旋转) this.IsLogining = vy.Visible; //登陆编辑区域设置为不可用 this.LoginPanelIsEnable = false; }), 100); //验证某个IP是否可ping通 if (!DetectionManage.TestNetConnectity(SpaceCodeEnterEntity.SPS_IP)) { this.NetWorkTip = "服务器访问失败,请及时联系管理员"; //this.NetWorkTipVisibility = vy.Visible; //this.NetWorkTipOpacity = 1.0; //this.gridWarning.Opacity = 1.0; WarningGridVisibilityStoryboard.Begin(); return; } else { //this.NetWorkTipVisibility = vy.Collapsed; //this.NetWorkTipOpacity = 0; WarningGridHiddenStoryboard.Begin(); } // 登陆前先进行判断(是否连接网络,是否能够连接服务器) bool networkIsOk = this.Check_NetWorkEnviroment(); if (!networkIsOk) { TimerJob.StartRun(new Action(() => { //显示登陆提示(旋转) this.IsLogining = vy.Hidden; //登陆编辑区域设置为不可用 this.LoginPanelIsEnable = true; }), 100); return; } //判断用户是否在线 this.Check_UserIsOnline(); } catch (Exception ex) { //出现异常,关闭登陆提示 this.IsLogining = vy.Collapsed; //将登陆编辑区域恢复为可用状态 this.LoginPanelIsEnable = true; LogManage.WriteLog(this.GetType(), ex); } finally { } }