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); } }); }
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)); } } } }
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); }
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)); } } }
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); } }