Пример #1
0
        /// <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
            {
            }
        }
Пример #2
0
        /// <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);
        }
Пример #3
0
        /// <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);
        }
Пример #4
0
        /// <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);
        }
Пример #5
0
        /// <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
            {
            }
        }
Пример #6
0
        /// <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
            {
            }
        }
Пример #7
0
        /// <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
            {
            }
        }
Пример #8
0
        /// <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
            {
            }
        }
Пример #9
0
        /// <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
            {
            }
        }