public void UpdateTempInformationAboutSceneMode(int conferenceID, SceneModeType sceneModeType) { //上锁,达到线程互斥作用 lock (objUpdateTempInformation) { try { if (ConferenceInformationEntityPCList != null) { List <ConferenceInformationEntityPC> ConferenceInfoEntityPCList = ConferenceInformationEntityPCList.Where(Item => Item.MeetingID.Equals(conferenceID)).ToList <ConferenceInformationEntityPC>(); if (ConferenceInfoEntityPCList != null && ConferenceInfoEntityPCList.Count > 0) { ConferenceInfoEntityPCList[0].SceneModeType = sceneModeType; ConferenceInfoTypeChangeEntity conferenceInfoTypeChangeEntity = new ConferenceInfoTypeChangeEntity() { SceneModeType = sceneModeType, }; this.InformClientAboutSceneMode(conferenceID, conferenceInfoTypeChangeEntity); } } } catch (Exception ex) { LogManage.WriteLog(this.GetType(), ex); } finally { } } }
/// <summary> /// 模式切换(场景模式切换) /// </summary> /// <param name="conferenceName"></param> /// <param name="sceneModeType"></param> /// <param name="callBack"></param> public void ChangeSceneModel(int conferenceID, SceneModeType sceneModeType, Action <bool> callBack) { try { if (ConferenceInfo.client != null) { //模式切换回调 this.UpdateSceneMode_CallBack = callBack; //异步获取会议信息 ConferenceInfo.Client.UpdateTempInformationAboutSceneModeAsync(conferenceID, sceneModeType); } } catch (Exception ex) { LogManage.WriteLog(this.GetType(), ex); } finally { } }
/// <summary> /// シーンモードをpush /// </summary> public static void PushSceneMode(SceneModeType mode) { _sceneModeStack.Push(SceneMode); SceneMode = mode; }