Ejemplo n.º 1
0
            public void _003CUserControl_MouseLeftButtonDown_003Eb__4()
            {
                AutoClosingMessageBox.Show("連線中");
                int          num = 1;
                SocketClient instance;

                while (true)
                {
                    if (num <= 10)
                    {
                        instance = Singleton_Socket.GetInstance(_003C_003E4__this.MeetingID, _003C_003E4__this.UserID, _003C_003E4__this.UserName, syncSwitch);
                        Thread.Sleep(1);
                        if (instance != null && instance.GetIsConnected())
                        {
                            break;
                        }
                        Singleton_Socket.ClearInstance();
                        if (num == 10)
                        {
                            AutoClosingMessageBox.Show("同步伺服器尚未啟動,請聯絡議事管理員開啟同步");
                        }
                        Thread.Sleep(10);
                        num++;
                        continue;
                    }
                    return;
                }
                instance.syncSwitch(syncSwitch);
            }
Ejemplo n.º 2
0
        private void UserControl_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            if (userButton.ID.Equals("BtnSync"))
            {
                if (PaperLess_Emeeting.Properties.Settings.Default.HasIpRangeMode == true && AllowIpRange.Equals("") == false && IpTool.CheckInNowWifi(AllowIpRange) == false)
                {
                    string CourseOrMeeting_String = PaperLess_Emeeting.Properties.Settings.Default.CourseOrMeeting_String;
                    AutoClosingMessageBox.Show(string.Format("您不在{0}室範圍內,無法使用此功能", CourseOrMeeting_String.Equals("課程")?"教":CourseOrMeeting_String));
                    return;
                }

                if (Home_ReturnSyncStatus_Event != null)
                {
                    Tuple <bool, bool> SyncStatus = Home_ReturnSyncStatus_Event();

                    bool syncSwitch = false;
                    // 沒同步,按下去要變成同步且不是主控
                    if (SyncStatus.Item1 == false)
                    {
                        int       FileNotFinished = 0;
                        DataTable dt = MSCE.GetDataTable(@"select count(ID) as FileNotFinished from NowLogin as nl
                                                       inner join FileRow as fr on nl.UserID=fr.UserID and nl.MeetingID=fr.MeetingID
                                                       where DownloadBytes=0 or DownloadBytes<TotalBytes");
                        if (dt.Rows.Count > 0)
                        {
                            FileNotFinished = (int)dt.Rows[0]["FileNotFinished"];
                        }
                        if (FileNotFinished > 0)
                        {
                            AutoClosingMessageBox.Show(string.Format("請將{0}資料下載完成後,再同步", PaperLess_Emeeting.Properties.Settings.Default.CourseOrMeeting_String));
                            return;
                        }
                        syncSwitch = true;
                    }
                    else  //有同步,不是主控,按下去要變成沒有同步
                    {
                        syncSwitch = false;
                    }
                    btnImg.Source = ButtonTool.GetSyncButtonImage(SyncStatus.Item1, SyncStatus.Item2);

                    //string UserID = "";
                    //string UserName = "";
                    //string MeetingID = "";
                    //DataTable dt = MSCE.GetDataTable("select UserID,UserName,UserPWD,MeetingID from NowLogin");
                    //if (dt.Rows.Count > 0)
                    //{
                    //    UserID = dt.Rows[0]["UserID"].ToString();
                    //    UserName = dt.Rows[0]["UserName"].ToString();
                    //    MeetingID = dt.Rows[0]["MeetingID"].ToString();
                    //}


                    Task.Factory.StartNew(() =>
                    {
                        AutoClosingMessageBox.Show("連線中");
                        int i = 1;
                        while (i <= 10)
                        {
                            SocketClient socketClient = Singleton_Socket.GetInstance(MeetingID, UserID, UserName, syncSwitch);
                            Thread.Sleep(1);
                            if (socketClient != null && socketClient.GetIsConnected() == true)
                            {
                                socketClient.syncSwitch(syncSwitch);
                                break;
                            }
                            else
                            {
                                Singleton_Socket.ClearInstance();
                                if (i == 10)
                                {
                                    AutoClosingMessageBox.Show("同步伺服器尚未啟動,請聯絡議事管理員開啟同步");
                                }
                            }

                            Thread.Sleep(10);
                            i++;
                        }
                    });
                }
            }
            else
            {
                if (userButton.ID.Equals("BtnIndividualSign") || userButton.ID.Equals("BtnBroadcast"))
                {
                    if (PaperLess_Emeeting.Properties.Settings.Default.HasIpRangeMode == true && AllowIpRange.Equals("") == false && IpTool.CheckInNowWifi(AllowIpRange) == false)
                    {
                        string CourseOrMeeting_String = PaperLess_Emeeting.Properties.Settings.Default.CourseOrMeeting_String;
                        AutoClosingMessageBox.Show(string.Format("您不在{0}室範圍內,無法使用此功能", CourseOrMeeting_String.Equals("課程") ? "教" : CourseOrMeeting_String));
                        //AutoClosingMessageBox.Show("您不在會議室範圍內,無法使用此功能");
                        return;
                    }
                }

                btnImg.Source = ButtonTool.GetButtonImage(userButton.ID, true);

                if (Home_PopUpButtons_Event != null)
                {
                    Home_PopUpButtons_Event(userButton.ID);
                }
            }



            //if(userButton.ID.Equals("BtnQuit")==true)
            //{
            //        DataTable dt = MSCE.GetDataTable("select HomeUserButtonAryJSON from NowLogin");
            //        if (dt.Rows.Count > 0)
            //        {
            //           string HomeUserButtonAryJSON = dt.Rows[0]["HomeUserButtonAryJSON"].ToString();
            //           Task.Factory.StartNew(() =>
            //               {
            //                   Home_ChangeBtnSP_Event(JsonConvert.DeserializeObject<UserButton[]>(HomeUserButtonAryJSON), "BtnHome");
            //               });

            //        }
            //}

            //改變按鈕列表
            Task.Factory.StartNew(() =>
            {
                Home_ChangeCC_Event(userButton);
            });
        }