Beispiel #1
0
        private void LightGrid_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            string SyncOwnerID = "";

            if (txtLight.Text.Equals("關"))
            {
                SyncOwnerID = clientId;
            }

            Task.Factory.StartNew(() =>
            {
                try
                {
                    SocketClient socketClient = Singleton_Socket.GetInstance(MeetingID, UserID, UserName, false);
                    if (socketClient != null && socketClient.GetIsConnected() == true)
                    {
                        socketClient.setSyncOwner(Socket_FixEmailUserID.ToSocket(SyncOwnerID));
                        return;
                    }
                    else
                    {
                        //AutoClosingMessageBox.Show("同步伺服器尚未啟動,請聯絡議事管理員開啟同步");
                        return;
                    }
                }
                catch (Exception ex)
                {
                    LogTool.Debug(ex);
                }
            });
        }
Beispiel #2
0
 public void ChangeList(JArray jArry)
 {
     //先判斷是否要invoke
     if (this.Dispatcher.CheckAccess() == false)
     {
         // 這裡是下載事件處理,優先權設定為ContextIdle => 列舉值為 3。 幕後作業完成後,會處理作業。
         //this.Dispatcher.BeginInvoke(DispatcherPriority.SystemIdle, new Action<JArray>(ChangeList), jArry);
         this.Dispatcher.BeginInvoke(new Action <JArray>(ChangeList), jArry);
     }
     else
     {
         BroadcastRowSP.Children.Clear();
         foreach (JToken item in jArry)
         {
             // [{\"clientId\":\"kat\",\"clientName\":\"kat\",\"clientType\":1,\"status\":0,\
             Dictionary <string, object> dict = JsonConvert.DeserializeObject <Dictionary <string, object> >(item.ToString());
             string clientId   = dict["clientId"].ToString();
             string clientName = dict["clientName"].ToString();
             string clientType = dict["clientType"].ToString();
             string status     = dict["status"].ToString();
             if (status.Equals("1") == false) //沒有再同步的時候
             {
                 BroadcastRowSP.Children.Add(new BroadcastRow(Socket_FixEmailUserID.FromSocket(clientId), clientName, clientType, status
                                                              , UserID, UserName, MeetingID));
             }
         }
     }
 }
Beispiel #3
0
        private void IsInSync_And_IsSyncOwner(JArray jArry)
        {
            if (!base.Dispatcher.CheckAccess())
            {
                base.Dispatcher.BeginInvoke(new Action <JArray>(IsInSync_And_IsSyncOwner), jArry);
                return;
            }
            foreach (JToken item in jArry)
            {
                Dictionary <string, object> dictionary = JsonConvert.DeserializeObject <Dictionary <string, object> >(item.ToString());
                string userID = dictionary["clientId"].ToString();
                userID = Socket_FixEmailUserID.FromSocket(userID);
                dictionary["clientName"].ToString();
                dictionary["clientType"].ToString();
                string text = dictionary["status"].ToString();
                if (userID.Equals(UserID))
                {
                    switch (text)
                    {
                    case "-1":
                        IsInSync    = true;
                        IsSyncOwner = true;
                        IsAlwaysShowHeaderFooter = false;
                        break;

                    case "0":
                        IsInSync    = true;
                        IsSyncOwner = false;
                        if (GetMediaState(mediaPlayer) == MediaState.Pause)
                        {
                            IsAlwaysShowHeaderFooter = true;
                            ChangeShowHeaderFooterDP(true);
                        }
                        else if (GetMediaState(mediaPlayer) == MediaState.Pause)
                        {
                            IsAlwaysShowHeaderFooter = false;
                            ChangeShowHeaderFooterDP(false);
                        }
                        break;

                    case "1":
                        IsInSync    = false;
                        IsSyncOwner = false;
                        IsAlwaysShowHeaderFooter = false;
                        break;

                    default:
                        IsInSync    = false;
                        IsSyncOwner = false;
                        IsAlwaysShowHeaderFooter = false;
                        break;
                    }
                    break;
                }
            }
            ChangeSyncButtonLight(IsInSync, IsSyncOwner);
        }
Beispiel #4
0
 public void _003CLightGrid_MouseLeftButtonDown_003Eb__6()
 {
     try
     {
         SocketClient instance = Singleton_Socket.GetInstance(_003C_003E4__this.MeetingID, _003C_003E4__this.UserID, _003C_003E4__this.UserName, false);
         if (instance != null && instance.GetIsConnected())
         {
             instance.setSyncOwner(Socket_FixEmailUserID.ToSocket(SyncOwnerID));
         }
     }
     catch (Exception ex)
     {
         LogTool.Debug(ex);
     }
 }
 public void ChangeList(JArray jArry)
 {
     if (!base.Dispatcher.CheckAccess())
     {
         base.Dispatcher.BeginInvoke(new Action <JArray>(ChangeList), jArry);
         return;
     }
     BroadcastRowSP.Children.Clear();
     foreach (JToken item in jArry)
     {
         Dictionary <string, object> dictionary = JsonConvert.DeserializeObject <Dictionary <string, object> >(item.ToString());
         string userID     = dictionary["clientId"].ToString();
         string clientName = dictionary["clientName"].ToString();
         string clientType = dictionary["clientType"].ToString();
         string text       = dictionary["status"].ToString();
         if (!text.Equals("1"))
         {
             BroadcastRowSP.Children.Add(new BroadcastRow(Socket_FixEmailUserID.FromSocket(userID), clientName, clientType, text, UserID, UserName, MeetingID));
         }
     }
 }
Beispiel #6
0
        private void IsInSync_And_IsSyncOwner(Newtonsoft.Json.Linq.JArray jArry)
        {
            //先判斷是否要invoke
            if (this.Dispatcher.CheckAccess() == false)
            {
                // 這裡是下載事件處理,優先權設定為ContextIdle => 列舉值為 3。 幕後作業完成後,會處理作業。
                //this.Dispatcher.BeginInvoke(DispatcherPriority.SystemIdle, new Action<JArray>(IsInSync_And_IsSyncOwner), jArry);
                this.Dispatcher.BeginInvoke(new Action <JArray>(IsInSync_And_IsSyncOwner), jArry);
            }
            else
            {
                //if (jArry.ToString().Contains("\"clientId\":\"" + UserID + "\"") == false)
                //{
                //    IsInSync = false;
                //    IsSyncOwner = false;
                //    ChangeSyncButtonLight(IsInSync, IsSyncOwner);
                //    return;
                //}

                foreach (JToken item in jArry)
                {
                    // [{\"clientId\":\"kat\",\"clientName\":\"kat\",\"clientType\":1,\"status\":0,\
                    Dictionary <string, object> dict = JsonConvert.DeserializeObject <Dictionary <string, object> >(item.ToString());
                    string clientId = dict["clientId"].ToString();
                    clientId = Socket_FixEmailUserID.FromSocket(clientId);
                    string clientName = dict["clientName"].ToString();
                    string clientType = dict["clientType"].ToString();
                    string status     = dict["status"].ToString();

                    if (clientId.Equals(UserID))
                    {
                        switch (status)
                        {
                        case "-1":     //主控者
                            IsInSync    = true;
                            IsSyncOwner = true;
                            IsAlwaysShowHeaderFooter = false;
                            break;

                        case "0":     //被同步者
                            IsInSync    = true;
                            IsSyncOwner = false;
                            if (GetMediaState(mediaPlayer) == MediaState.Pause)
                            {
                                IsAlwaysShowHeaderFooter = true;
                                ChangeShowHeaderFooterDP(true);
                            }
                            else if (GetMediaState(mediaPlayer) == MediaState.Pause)
                            {
                                IsAlwaysShowHeaderFooter = false;
                                ChangeShowHeaderFooterDP(false);
                            }
                            break;

                        case "1":     //沒有同步
                            IsInSync    = false;
                            IsSyncOwner = false;
                            IsAlwaysShowHeaderFooter = false;
                            break;

                        default:
                            IsInSync    = false;
                            IsSyncOwner = false;
                            IsAlwaysShowHeaderFooter = false;
                            break;
                        }
                        break;
                    }
                }

                ChangeSyncButtonLight(IsInSync, IsSyncOwner);
            }
        }