public frmGroupManage(CommControl.PublicEnums.EnumGroupType _GroupType) { InitializeComponent(); this.Text = "分组管理"; this.Load += new EventHandler(frmGroupManage_Load); GroupType = _GroupType; switch (GroupType) { case CommControl.PublicEnums.EnumGroupType.none: break; case CommControl.PublicEnums.EnumGroupType.Normal: this.Text = "调度分组"; break; case CommControl.PublicEnums.EnumGroupType.Meeting: this.Text = "会议分组"; break; case CommControl.PublicEnums.EnumGroupType.SMS: break; case CommControl.PublicEnums.EnumGroupType.Camera: this.Text = "摄像头分组"; break; default: break; } this.dgvRight.MultiSelect = true; }
/// <summary> /// 加载数据 /// </summary> /// <param name="regionID">区域ID</param> /// <param name="memberType"></param> public void LoadData(int regionID, CommControl.PublicEnums.EnumRegionMemberType memberType) { m_MemeberType = memberType; if (memberType == CommControl.PublicEnums.EnumRegionMemberType.Camera) { m_CurrentMemberOperate = new RegionMemberCameraOpeate<RegionCameraInfo>(); } else { m_CurrentMemberOperate = new RegionMemberPhoneOpeate<RegionCallInfo>(memberType); } RegionMemberInfo[] memberDatas = m_CurrentMemberOperate.LoadData(regionID); if (memberDatas == null) { return; } foreach (RegionMemberInfo item in memberDatas) { m_DataCache.Add(item); RegionManage.GetInstance().RegeditMemberData(item); } int offCount = m_DataCache.Count % MaxViewMemberCount; this.indexControl.Init(m_DataCache.Count <= MaxViewMemberCount ? m_DataCache.Count == 0 ? -1 : 0 : m_DataCache.Count / MaxViewMemberCount + (offCount > 0 ? 0 : -1)); LoadMemberControl(); ResizeControl(); InitInnerControl(); }
/// <summary> /// 写调度日志 /// </summary> /// <param name="action"></param> /// <param name="dispathcNumber"></param> /// <param name="dispatchedNumbers"></param> /// <param name="memo"></param> /// <returns></returns> public static bool WriteLog(CommControl.PublicEnums.EnumNormalCmd action, long dispathcNumber, string dispatchedNumbers, string memo) { if (dispathcNumber==0) { return false; } DB_Talk.Model.Data_DispatchLog log = new DB_Talk.Model.Data_DispatchLog(); log.dt_DateTime = DateTime.Now; log.ManagerID = Pub.manageModel.ID; log.DispatchTypeID = action.GetHashCode(); log.DispatchNumber = dispathcNumber; log.DispatchedNumbers = dispatchedNumbers; log.i_Result = 0; log.BoxID = Pub.manageModel.BoxID; log.i_State = 0; log.vc_Memo = memo; if ((new DB_Talk.BLL.Data_DispatchLog()).Add(log) > 0) { return true; } else { return false; } }
void MeetingCommandBar_OnButtonClick(object sender, CommControl.PublicEnums.EnumNormalCmd cmd) { if (cmd == CommControl.PublicEnums.EnumNormalCmd.MeetingGroupOperate) { btnMeetingBeginEnd.Checked = false; } }
private void printCOM() { CommControl commcon = new CommControl("COM1"); if (commcon.IsOpen()) { commcon.CutPaper(); commcon.WriteBigLine(" 这是题目"); commcon.PrintLine(); commcon.WriteLine("姓名:东方不败"); commcon.SetUnderLine(); commcon.NewRow(); commcon.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), CommControl.HorPos.Right); commcon.NewRow(3); commcon.CutPaper(); } commcon.Dispose(); }
public frmGroupMember(int _groupID, string _GroupName,StringBuilder _sbMemberID,int _priorCount,CommControl.PublicEnums.EnumGroupType _GroupType) { InitializeComponent(); this.FormTitle = "增加"; groupID = _groupID; sbMemberID = _sbMemberID; priorCount = _priorCount; GroupName = _GroupName; GroupType=_GroupType; RecordCount= LoadData(); }
internal RegionMemberInfo[] GetRegionMemberData(int regionID, CommControl.PublicEnums.EnumRegionMemberType memberType) { List<RegionMemberInfo> queryDataList = new List<RegionMemberInfo>(); if (memberType == CommControl.PublicEnums.EnumRegionMemberType.Camera) { List<DB_Talk.Model.m_CameraInfo> dataList = new DB_Talk.BLL.m_RegionRelation().QueryCameraMemberList( string.Format("RegionID = {0} and i_RelationType = {1}", regionID, (int)memberType)); foreach (DB_Talk.Model.m_CameraInfo sqlData in dataList) { RegionCameraInfo data = new RegionCameraInfo(); data.UserLineStatus = TalkControl.EnumUserLineStatus.Offline; data.ID = sqlData.ID; data.Name = sqlData.vc_Name; data.PrimaryKey = sqlData.vc_Name; data.Number = sqlData.vc_Name; data.ChannelID = (int)sqlData.i_ChanelID; data.MemberType = CommControl.PublicEnums.EnumRegionMemberType.Camera; queryDataList.Add(data); } } else { List<DB_Talk.Model.m_Member> dataList = new DB_Talk.BLL.m_RegionRelation().QueryPhoneMemeberList( string.Format("RegionID = {0} and i_RelationType = {1}", regionID, (int)memberType)); foreach (DB_Talk.Model.m_Member sqlData in dataList) { RegionCallInfo data = new RegionCallInfo(); data.ID = sqlData.ID; data.Name = sqlData.vc_Name; data.MemberType = (CommControl.PublicEnums.EnumRegionMemberType)sqlData.i_TellType; data.PrimaryKey = sqlData.i_Number.ToString(); data.Number = sqlData.i_Number.ToString(); queryDataList.Add(data); } } return queryDataList.ToArray(); }
/// <summary> /// 更新调度结果 /// </summary> /// <param name="action"></param> /// <param name="dispathcNumber"></param> /// <param name="dispatchedNumbers"></param> /// <param name="result"></param> /// <returns></returns> public static bool UpdateLog(CommControl.PublicEnums.EnumNormalCmd action, long dispathcNumber, string dispatchedNumbers, bool result) { bool b = false; try { List<DB_Talk.Model.Data_DispatchLog> lst = new DB_Talk.BLL.Data_DispatchLog().GetModelList( string.Format("DispatchNumber={0} and DispatchTypeID='{1}' and DispatchedNumbers='{2}' and i_State=0 order by dt_datetime desc", dispathcNumber, action.GetHashCode(), dispatchedNumbers)); if (lst != null && lst.Count > 0) { bool isFisrt = true; foreach (DB_Talk.Model.Data_DispatchLog item in lst) { if (result) { if (isFisrt==true) { item.i_Result = 1; isFisrt = false; } } else { item.i_Result = 0; } item.i_State = 1; b = new DB_Talk.BLL.Data_DispatchLog().Update(item); } } } catch (Exception) { } return b; }
internal static MemberAppearance Create(CommControl.PublicEnums.EnumRegionMemberType memberType) { if (memberType == CommControl.PublicEnums.EnumRegionMemberType.Camera) { return new CameraMemberAppearance(); } else if (memberType == CommControl.PublicEnums.EnumRegionMemberType.Radio) { return new RadioMemberAppearance(); } else if (memberType == CommControl.PublicEnums.EnumRegionMemberType.TelPhone) { return new TelePhoneMemberAppearance(); } else if (memberType == CommControl.PublicEnums.EnumRegionMemberType.WiFiPhone) { return new WifiPhoneMemberAppearance(); } else { throw new ArgumentException("memberType不是有效数据。"); } }
//加载组 private void loadGroup(CommControl.PublicEnums.EnumGroupType GroupType, DevComponents.AdvTree.Node nodeParent) { List<DB_Talk.Model.m_Group> ListGroup = new DB_Talk.BLL.m_Group().GetModelList("i_Flag=0 and GroupTypeID='" + GroupType.GetHashCode() + "'"); nodeParent.Nodes.Clear(); DevComponents.AdvTree.Node nodeGroup; foreach (DB_Talk.Model.m_Group g in ListGroup) { nodeGroup = new DevComponents.AdvTree.Node(); nodeGroup.Text = g.vc_Name.ToString(); nodeGroup.Name = g.ID.ToString(); nodeGroup.CheckBoxVisible = false; nodeGroup.Image = Properties.Resources.red; nodeGroup.Expanded = true; nodeGroup.Tag = g.ID; nodeParent.Nodes.Add(nodeGroup); nodeGroup.NodeClick += new EventHandler(nodeGroup_NodeClick); } }
private void RaiseEvent(object sender, CommControl.PublicEnums.EnumNormalCmd cmd) { if (OnButtonClick!=null) { OnButtonClick(sender, cmd); } }
/// <summary> /// 得到调度记录 /// </summary> /// <param name="action"></param> /// <param name="dispathcNumber"></param> /// <param name="dispatchedNumbers"></param> /// <returns></returns> public static DB_Talk.Model.Data_DispatchLog GetDispatchLog(CommControl.PublicEnums.EnumNormalCmd action, long dispathcNumber) { try { List<DB_Talk.Model.Data_DispatchLog> lst = new DB_Talk.BLL.Data_DispatchLog().GetModelList( string.Format("DispatchNumber={0} and DispatchTypeID='{1}' and i_State=0 order by dt_datetime desc", dispathcNumber, action.GetHashCode())); bool b = false; if (lst.Count > 0) { return lst[0]; } } catch (Exception) { } return null; }
/// <summary>命令条 点击按钮处理事件</summary> /// <param name="sender"></param> /// <param name="cmd"></param> void command_OnButtonClick(object sender, CommControl.PublicEnums.EnumNormalCmd cmd) { Pub._meetingManage.SetControlIsCanSelect(false); //if (cmd!= PublicEnums.EnumNormalCmd.MeetingGroupOperate) //{ // Pub._talkControl.NumberList.Clear(); //} Pub._talkControl.CurrentNormalCMD = cmd; if (_isDispatchTabPage == false)//为会议页 { GetCurrentMeetingModel(); } switch (cmd) { case CommControl.PublicEnums.EnumNormalCmd.None: Pub._memberManage.ShowAllMember(); break; case PublicEnums.EnumNormalCmd.GroupCall: if (_dispatchCommand.btnGroupCall.Image != null) { bc_OnMsg("组呼失败"); } else { #region 开始组呼 _baseCommand = new GroupCallCommand(); Pub._talkControl.NumberList.Clear(); //自动获取类型设置不同的个数 TalkControl.EnumEquipmentType et = Pub._talkControl.GetEquipmentType(); int count = 16; switch (et) { case TalkControl.EnumEquipmentType.T_HT8000B: count = 32; break; case TalkControl.EnumEquipmentType.T_HT8000C: count = 16; break; case TalkControl.EnumEquipmentType.T_HT8000D: count = 16; break; case TalkControl.EnumEquipmentType.T_HT8000E: count = 16; break; default: break; } int i = 0; foreach (SingleUserControl item in Pub._memberManage._lstGroup[_memberGroupIndex].lstControl) { if (item.UserLineStatus == TalkControl.EnumUserLineStatus.Idle) { i++; if (i > count) { break; } Pub._talkControl.NumberList.Add(new DB_Talk.Model.m_Member() { i_Number = item.Number, vc_Name = item.MemberName }); } } _baseCommand.talkControl = Pub._talkControl; _baseCommand.OnMsg += new BaseCommand.MsgDelegate(bc_OnMsg); _currentSelectedMeetingModel.DispatchNumber = Pub._talkControl.CurrentDispatchNumber; _currentSelectedMeetingModel.MeetingID = 0; if (_baseCommand.Begin() == false) { } else { } Pub._talkControl.NumberList.Clear(); Pub._talkControl.CurrentNormalCMD = PublicEnums.EnumNormalCmd.None; #endregion } break; case CommControl.PublicEnums.EnumNormalCmd.Call: Pub._memberManage.SetFilterType(EnumFilterType.CanMakeCall); break; case CommControl.PublicEnums.EnumNormalCmd.MakeLemcMeeting: break; case CommControl.PublicEnums.EnumNormalCmd.Handup: Pub._memberManage.SetFilterType(EnumFilterType.CanHandup); break; case CommControl.PublicEnums.EnumNormalCmd.Insert: Pub._memberManage.SetFilterType(EnumFilterType.CanInsert); break; case CommControl.PublicEnums.EnumNormalCmd.InsteadAnswer: Pub._memberManage.SetFilterType(EnumFilterType.CanInsteadAnswer); break; case CommControl.PublicEnums.EnumNormalCmd.Keep: Pub._memberManage.SetFilterType(EnumFilterType.CanHolding); if (_dispatchCommand.btnKeep.Image != null) { superTabControlDispatch.SelectedTab = stiAllMember; } break; case CommControl.PublicEnums.EnumNormalCmd.SelectAnser: break; case CommControl.PublicEnums.EnumNormalCmd.Transfer: Pub._memberManage.SetFilterType(EnumFilterType.CanTranfer); break; case CommControl.PublicEnums.EnumNormalCmd.SnatchCall: Pub._memberManage.SetFilterType(EnumFilterType.CanSnatch); break; case CommControl.PublicEnums.EnumNormalCmd.Listen: Pub._memberManage.SetFilterType(EnumFilterType.CanListen); if (_dispatchCommand.btnListen.Image != null) { superTabControlDispatch.SelectedTab = stiAllMember; } break; case CommControl.PublicEnums.EnumNormalCmd.AddMeetingMember://邀请会议成员 Pub.CanDestroyControl = false; this._isCanAddMember = false; Pub._pageControl._columnCount = 4; Pub._pageControl._rowCount = 5; Pub._pageControl.GetSingleControlSize(); _selectMemberForm = new FormSelectMeetingMember(this, _currentSelectedMeetingModel.MeetingState == MeetingGroupModel.EnumMeetingState.Running); _selectMemberForm.AddPageControl(Pub._pageControl); Pub._pageControl.LoadData(); Pub._talkControl.NumberList.Clear(); foreach (SingleUserControl item in _currentSelectedMeetingModel.lstControl) { if (item.UserLineStatus == TalkControl.EnumUserLineStatus.Idle) { Pub._talkControl.NumberList.Add(new DB_Talk.Model.m_Member() { i_Number = item.Number, vc_Name = item.MemberName }); } } if (_currentSelectedMeetingModel.MeetingState == MeetingGroupModel.EnumMeetingState.Running) { Pub._talkControl.NumberList.Clear(); } Pub._meetingManage.SetControlIsCanSelect(true); Pub._currentSelectMeetingMemberCount = _currentSelectedMeetingModel.lstControl.Count; if (Pub._currentSelectMeetingMemberCount >= Pub._maxMeetingMemberCount) { CommControl.MessageBoxEx.MessageBoxEx.Show(string.Format("当前会议内成员数已达到上限{0}个", Pub._maxMeetingMemberCount), "会议提示"); } else { if (_selectMemberForm.ShowDialog() == System.Windows.Forms.DialogResult.OK) { foreach (DB_Talk.Model.m_Member item in Pub._talkControl.NumberList) { #region 手动增加空闲的手柄进待选的成员里 if (cLeft.Number != item.i_Number && cRight.Number != item.i_Number) { Pub._meetingManage.AddMeetingMember(0, _currentSelectedMeetingModel.MeetingID, item.i_Number.Value, _currentSelectedMeetingModel.GroupName); } #endregion } //会议开始的进行邀请命令 if (_currentSelectedMeetingModel.MeetingState == MeetingGroupModel.EnumMeetingState.Running) { //foreach (DB_Talk.Model.m_Member item in Pub._talkControl.NumberList) //{ // SingleUserControl sc = Pub._memberManage.GetSingleControl(item.i_Number.Value); // if (sc != null) // { // _baseCommand = new AddMeetingMemberCommand(); // _baseCommand.MemberControl = sc; // _baseCommand.talkControl = Pub._talkControl; // _baseCommand.OnMsg += new BaseCommand.MsgDelegate(bc_OnMsg); // _baseCommand.Begin(); // } //} //////////////////// _baseCommand = new AddMeetingMemberCommand(); _baseCommand.talkControl = Pub._talkControl; _baseCommand.OnMsg += new BaseCommand.MsgDelegate(bc_OnMsg); _baseCommand.Begin(); } } } Pub._pageControl.ShowAllMember(); Pub._meetingManage.SetControlIsCanSelect(false); Pub._meetingManage.SetControlChecked(false); this._isCanAddMember = true; Pub.CanDestroyControl = true; break; case CommControl.PublicEnums.EnumNormalCmd.NoSpeekMeeting: break; case CommControl.PublicEnums.EnumNormalCmd.OkSpeekMeeting: break; case CommControl.PublicEnums.EnumNormalCmd.IsolateMeeting: break; case CommControl.PublicEnums.EnumNormalCmd.UnIsolateMeeting: break; case CommControl.PublicEnums.EnumNormalCmd.DeleteMeetingMember: break; case CommControl.PublicEnums.EnumNormalCmd.EndMeeting: break; case CommControl.PublicEnums.EnumNormalCmd.BeginRecord: if (_dispatchCommand.btnRecord.Image != null) { superTabControlDispatch.SelectedTab = stiAllMember; } break; case CommControl.PublicEnums.EnumNormalCmd.EndRecord: break; case CommControl.PublicEnums.EnumNormalCmd.MeetingGroupOperate: #region 会议操作 #region 初始操作 _meetingCommand.btnMeetingBeginEnd.Checked = false; if (_currentSelectedMeetingModel == null) { bc_OnMsg("当前没有可用的会议分组"); return; } Pub._talkControl.CurrentMeetingID = _currentSelectedMeetingModel.MeetingID; #endregion if (_meetingCommand.btnMeetingBeginEnd.Text == "开始会议") { if (Pub.CurrentDispatchControl.UserLineStatus != TalkControl.EnumUserLineStatus.Idle && Pub.CurrentDispatchControl.UserLineStatus != TalkControl.EnumUserLineStatus.HookOn) { bc_OnMsg(string.Format("创建会议失败,手柄为非空闲", cLeft.Number)); return; } if (_currentSelectedMeetingModel.MeetingType == MeetingGroupModel.EnumMeetingType.Formal) { #region 开始正式会议 _baseCommand = new MakeMeetingCommand(); Pub._talkControl.NumberList.Clear(); foreach (SingleUserControl item in _currentSelectedMeetingModel.lstControl) { if (item.UserLineStatus == TalkControl.EnumUserLineStatus.Idle) { Pub._talkControl.NumberList.Add(new DB_Talk.Model.m_Member() { i_Number = item.Number, vc_Name = item.MemberName }); } } _createMeetingType = MeetingGroupModel.EnumMeetingType.Formal; Pub._talkControl.CurrentNormalCMD = CommControl.PublicEnums.EnumNormalCmd.MakeLemcMeeting; _currentSelectedMeetingModel.MeetingState = MeetingGroupModel.EnumMeetingState.Ready; // bc_OnMsg("正在创建会议"); _meetingCommand.btnMeetingBeginEnd.Text = "结束会议"; _meetingCommand.btnAddMeetingMember.Enabled = false; _baseCommand.talkControl = Pub._talkControl; _baseCommand.OnMsg += new BaseCommand.MsgDelegate(bc_OnMsg); _currentSelectedMeetingModel.DispatchNumber = Pub._talkControl.CurrentDispatchNumber; _currentSelectedMeetingModel.MeetingID = 0; if (_baseCommand.Begin() == false) { _currentSelectedMeetingModel.MeetingState = MeetingGroupModel.EnumMeetingState.Off; _meetingCommand.btnMeetingBeginEnd.Text = "开始会议"; _meetingCommand.btnMeetingBeginEnd.Enabled = true; _dispatchCommand.btnMeeting.Enabled = true; _meetingCommand.btnAddMeetingMember.Enabled = true; } else { _meetingCommand.btnMeetingBeginEnd.Enabled = false; _dispatchCommand.btnMeeting.Enabled = false; } Pub._talkControl.NumberList.Clear(); Pub._talkControl.CurrentNormalCMD = PublicEnums.EnumNormalCmd.None; #endregion } if (_currentSelectedMeetingModel.MeetingType == MeetingGroupModel.EnumMeetingType.Lemc) { #region 开始紧急会议 Pub._talkControl.NumberList.Clear(); foreach (SingleUserControl item in _currentSelectedMeetingModel.lstControl) { if (item.UserLineStatus == TalkControl.EnumUserLineStatus.Idle) { Pub._talkControl.NumberList.Add(new DB_Talk.Model.m_Member() { i_Number = item.Number, vc_Name = item.MemberName }); } } if (Pub._talkControl.NumberList.Count > 0) { _createMeetingType = MeetingGroupModel.EnumMeetingType.Temp; _baseCommand.OnMsg += new Command.BaseCommand.MsgDelegate(bc_OnMsg); Pub._talkControl.CurrentNormalCMD = PublicEnums.EnumNormalCmd.None; _meetingCommand.btnMeetingBeginEnd.Enabled = false; _meetingCommand.btnMeetingBeginEnd.Text = "结束会议"; _meetingCommand.btnAddMeetingMember.Enabled = false; _currentSelectedMeetingModel.MeetingState = MeetingGroupModel.EnumMeetingState.Ready; _currentSelectedMeetingModel.DispatchNumber = Pub._talkControl.CurrentDispatchNumber; _currentSelectedMeetingModel.MeetingID = 0; _baseCommand.Begin(); // Pub._meetingManage.AddMeetingGroup(MeetingGroupModel.EnumMeetingState.Ready, MeetingGroupModel.EnumMeetingType.Temp, -1, Pub._talkControl.CurrentMeetingID, GetTempMeetingName(), Pub._talkControl.NumberList, Pub._talkControl.CurrentDispatchNumber, true); Pub._talkControl.NumberList.Clear(); Pub._memberManage.SetControlChecked(false); Pub._meetingManage.SetControlChecked(false); } else { bc_OnMsg("请先选择会议的成员"); } return; #endregion } } else { #region 结束会议 AutoSelectDispatchNumber(); if (CommControl.MessageBoxEx.MessageBoxEx.Show("请确认是否要结束此会议?", "询问", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) != DialogResult.Yes) { return; } _baseCommand = new EndMeetingCommand(); Pub._talkControl.CurrentNormalCMD = CommControl.PublicEnums.EnumNormalCmd.EndMeeting; _baseCommand.talkControl = Pub._talkControl; _baseCommand.OnMsg += new BaseCommand.MsgDelegate(bc_OnMsg); if (_baseCommand.Begin() == false) { // _currentSelectedMeetingModel.MeetingState = MeetingGroupModel.EnumMeetingState.Off; } Pub._talkControl.NumberList.Clear(); Pub._meetingManage.DeleteMeeting(_currentSelectedMeetingModel.GroupName); _meetingCommand.btnMeetingBeginEnd.Text = "开始会议"; _meetingCommand.btnAddMeetingMember.Enabled = true; Pub._meetingManage.DeleteMeeting(_currentSelectedMeetingModel.MeetingID); _currentSelectedMeetingModel.MeetingState = MeetingGroupModel.EnumMeetingState.Off; _currentSelectedMeetingModel.MeetingID = 0; // superTabControlMeeting.SelectedTab = (SuperTabItem)superTabControlMeeting.Tabs[0]; // ((SuperTabItem)superTabControlMeeting.Tabs[0]).RaiseClick(); bc_OnMsg("结束会议成功"); #endregion } #endregion break; case PublicEnums.EnumNormalCmd.RecordOperate: Pub._memberManage.SetFilterType(EnumFilterType.CanRecord); break; default: break; } }
/// <summary> /// コンストラクタ /// </summary> /// <param name="comm">通信クラスインスタンス</param> public MonitorSender(CommControl comm) { m_CommControl = comm; }