/// <summary> /// 加载模板 /// </summary> /// <param name="template">模板信息</param> private void LoadTemplate(SecurityFilterTemplate template) { TextBoxA txtName = GetTextBox("txtName"); TextBoxA txtIndicator = GetTextBox("txtIndicator"); TextBoxA txtParameters = GetTextBox("txtParameters"); ComboBoxA cbCycle = GetComboBox("cbCycle"); ComboBoxA cbSubscription = GetComboBox("cbSubscription"); TextBoxA txtFilter = GetTextBox("txtFilter"); ButtonA btnDelete = GetButton("btnDelete"); ButtonA btnRun = GetButton("btnRun"); ButtonA btnWatch = GetButton("btnWatch"); ButtonA btnSave = GetButton("btnSave"); txtName.Text = template.m_name; txtIndicator.Text = template.m_indicator; txtParameters.Text = template.m_parameters; cbCycle.SelectedValue = template.m_cycle.ToString(); cbSubscription.SelectedIndex = template.m_subscription; txtFilter.Text = template.m_filter; m_codes = template.m_codes; bool btnEnabled = (template.m_templateID != null && template.m_templateID.Length > 0); btnDelete.Enabled = btnEnabled; btnRun.Enabled = btnEnabled; btnWatch.Enabled = btnEnabled; btnSave.Enabled = btnEnabled; }
/// <summary> /// 运行 /// </summary> public void Run() { SecurityFilterTemplate template = new SecurityFilterTemplate(); GetTemplate(ref template); SecurityFilterTask task = m_securityFilterService.GetTask(template.m_templateID); if (task == null) { m_securityFilterService.AddTask(template, m_native); } task = m_securityFilterService.GetTask(template.m_templateID); if (task != null) { if (task.RunningState >= 0) { task.Stop(); } else { task.Template = template; task.Run(); } m_window.Invalidate(); } }
/// <summary> /// 获取模板信息 /// </summary> /// <param name="template">模板信息</param> public void GetTemplate(ref SecurityFilterTemplate template) { TextBoxA txtName = GetTextBox("txtName"); TextBoxA txtIndicator = GetTextBox("txtIndicator"); TextBoxA txtParameters = GetTextBox("txtParameters"); ComboBoxA cbCycle = GetComboBox("cbCycle"); ComboBoxA cbSubscription = GetComboBox("cbSubscription"); TextBoxA txtFilter = GetTextBox("txtFilter"); if (m_template.m_templateID != null && m_template.m_templateID.Length > 0) { template.m_templateID = m_template.m_templateID; } template.m_name = txtName.Text; template.m_indicator = txtIndicator.Text; template.m_parameters = txtParameters.Text; if (cbCycle.SelectedValue != null) { template.m_cycle = CStrA.ConvertStrToInt(cbCycle.SelectedValue); } else { template.m_cycle = 1440; } template.m_subscription = cbSubscription.SelectedIndex; template.m_filter = txtFilter.Text; template.m_codes = m_codes; template.m_userID = DataCenter.UserID; }
public int Send(int functionID, int requestID, List <SecurityFilterTemplate> templates) { Binary binary = new Binary(); int count = templates.Count; binary.WriteInt(count); for (int i = 0; i < count; i++) { SecurityFilterTemplate template = templates[i]; binary.WriteString(template.m_templateID); binary.WriteInt(template.m_userID); binary.WriteString(template.m_name); binary.WriteString(template.m_codes); binary.WriteString(template.m_indicator); binary.WriteString(template.m_parameters); binary.WriteString(template.m_filter); binary.WriteInt(template.m_cycle); binary.WriteInt(template.m_subscription); binary.WriteInt(template.m_orderNum); } byte[] bytes = binary.GetBytes(); int num3 = this.Send(new CMessage(base.GroupID, base.ServiceID, functionID, base.SessionID, requestID, this.m_socketID, 0, base.CompressType, bytes.Length, bytes)); binary.Close(); return(num3); }
public static int GetTemplates(List <SecurityFilterTemplate> templates, byte[] body, int bodyLength) { Binary binary = new Binary(); binary.Write(body, bodyLength); int num = binary.ReadInt(); if (num > 0) { for (int i = 0; i < num; i++) { SecurityFilterTemplate item = new SecurityFilterTemplate(); item.m_templateID = binary.ReadString(); item.m_userID = binary.ReadInt(); item.m_name = binary.ReadString(); item.m_codes = binary.ReadString(); item.m_indicator = binary.ReadString(); item.m_parameters = binary.ReadString(); item.m_filter = binary.ReadString(); item.m_cycle = binary.ReadInt(); item.m_subscription = binary.ReadInt(); item.m_orderNum = binary.ReadInt(); templates.Add(item); } } binary.Close(); return(1); }
public int UpdateOrderNum(int requestID, int userID, List <string> ids) { string str = ""; int count = ids.Count; for (int i = 0; i < count; i++) { str = str + ids[i]; if (i != (count - 1)) { str = str + ","; } } SecurityFilterTemplate template = new SecurityFilterTemplate(); template.m_templateID = str; template.m_userID = userID; List <SecurityFilterTemplate> templates = new List <SecurityFilterTemplate>(); templates.Add(template); int num3 = this.Send(6, requestID, templates); templates.Clear(); return((num3 > 0) ? 1 : 0); }
public int GetTemplates(int requestID, SecurityFilterTemplate template) { List <SecurityFilterTemplate> templates = new List <SecurityFilterTemplate>(); templates.Add(template); int num = this.Send(2, requestID, templates); templates.Clear(); return((num > 0) ? 1 : 0); }
/// <summary> /// 保存 /// </summary> public void Save() { SecurityFilterTemplate template = new SecurityFilterTemplate(); GetTemplate(ref template); if (template.m_templateID != null && template.m_templateID.Length > 0) { m_securityFilterService.UpdateTemplate(m_securityFilterService.OperatorRequestID, template); } }
/// <summary> /// 新建模板 /// </summary> public void Create() { SecurityFilterTemplate template = new SecurityFilterTemplate(); template.m_name = "新的模板"; template.m_cycle = 1440; template.m_subscription = 1; template.m_userID = DataCenter.UserID; m_securityFilterService.AddTemplate(m_securityFilterService.OperatorRequestID, template); }
/// <summary> /// 删除 /// </summary> public void Delete() { List <GridRow> selectedRows = m_gridTemplate.SelectedRows; int selectedRowsSize = selectedRows.Count; if (selectedRowsSize > 0) { String templateID = selectedRows[0].GetCell(0).Text; SecurityFilterTemplate template = new SecurityFilterTemplate(); m_securityFilterService.GetTemplate(templateID, ref template); m_securityFilterService.DeleteTemplate(m_securityFilterService.OperatorRequestID, template); } }
/// <summary> /// 获取模板信息 /// </summary> /// <param name="categoryID">模板ID</param> /// <param name="template">返回模板</param> /// <returns>状态</returns> public bool GetTemplate(String templateID, ref SecurityFilterTemplate template) { int templatesSize = m_templates.Count; for (int i = 0; i < templatesSize; i++) { if (m_templates[i].m_templateID == templateID) { template = m_templates[i]; return(true); } } return(false); }
/// <summary> /// 表格选中行改变方法 /// </summary> public void OnGridSelectedRowsChanged() { String templateID = ""; List <GridRow> selectedRows = m_gridTemplate.SelectedRows; int selectedRowsSize = selectedRows.Count; if (selectedRowsSize > 0) { templateID = selectedRows[0].GetCell(0).Text; } SecurityFilterTemplate template = new SecurityFilterTemplate(); m_securityFilterService.GetTemplate(templateID, ref template); m_template = template; LoadTemplate(m_template); m_window.Invalidate(); }
/// <summary> /// 表格单元格点击方法 /// </summary> /// <param name="sender">调用者</param> /// <param name="cell">单元格</param> /// <param name="mp">坐标</param> /// <param name="button">按钮</param> /// <param name="clicks">点击次数</param> /// <param name="delta">滚轮值</param> public void OnGridCellDoubleClick(GridCell cell) { SecurityFilterInfo info = (cell.Row as SecurityFilterResultRow).Info; if (info != null && m_chart != null) { m_chart.Chart.DataSource.Clear(); SecurityFilterTemplate template = m_task.Template; m_chart.DeleteIndicators(true); List <CDiv> divs = m_chart.Chart.GetDivs(); int divsSize = divs.Count; m_chart.AddMainIndicator(template.m_name, template.m_name, template.m_indicator, template.m_parameters, divs[divsSize - 1], true); m_chart.Cycle = m_task.Template.m_cycle; m_chart.Subscription = m_task.Template.m_subscription; m_chart.SearchSecurity(info.Security); } }
/// <summary> /// 调用控件线程方法 /// </summary> /// <param name="args">参数</param> public void OnInvoke(object args) { CMessage message = (CMessage)args; List <SecurityFilterTemplate> templates = new List <SecurityFilterTemplate>(); SecurityFilterService.GetTemplates(templates, message.m_body, message.m_bodyLength); int templatesSize = templates.Count; switch (message.m_functionID) { case SecurityFilterService.FUNCTIONID_SECURITYFILTER_ADDTEMPLATES: AddTemplatesToGrid(templates); break; case SecurityFilterService.FUNCTIONID_SECURITYFILTER_DELETETEMPLATES: { Dictionary <String, GridRow> templateRowsMap = GetTemplateRows(); for (int i = 0; i < templatesSize; i++) { SecurityFilterTemplate template = templates[i]; if (templateRowsMap.ContainsKey(template.m_templateID)) { m_gridTemplate.RemoveRow(templateRowsMap[template.m_templateID]); } } m_gridTemplate.Update(); break; } case SecurityFilterService.FUNCTIONID_SECURITYFILTER_UPDATETEMPLATES: { Dictionary <String, GridRow> templateRowsMap = GetTemplateRows(); for (int i = 0; i < templatesSize; i++) { SecurityFilterTemplate template = templates[i]; if (templateRowsMap.ContainsKey(template.m_templateID)) { templateRowsMap[template.m_templateID].GetCell(1).Text = template.m_name; } } break; } } m_window.Invalidate(); }
/// <summary> /// 添加任务 /// </summary> /// <param name="template">模板</param> /// <param name="native">方法库</param> /// <returns>任务</returns> public SecurityFilterTask AddTask(SecurityFilterTemplate template, INativeBase native) { int tasksSize = m_tasks.Count; for (int i = 0; i < tasksSize; i++) { if (m_tasks[i].Template.m_templateID == template.m_templateID) { return(null); } } SecurityFilterTask task = new SecurityFilterTask(); task.Native = native; task.Template = template; m_tasks.Add(task); return(task); }
/// <summary> /// 查看 /// </summary> public void Watch() { SecurityFilterTemplate template = new SecurityFilterTemplate(); GetTemplate(ref template); SecurityFilterTask task = m_securityFilterService.GetTask(template.m_templateID); if (task != null) { SecurityFilterResult securityFilterResult = new SecurityFilterResult(m_native); securityFilterResult.Chart = m_chart; securityFilterResult.Task = task; securityFilterResult.Show(); WindowEx window = securityFilterResult.Window; window.IsChildWindow = true; m_native.Invalidate(); } }
/// <summary> /// 加载数据 /// </summary> /// <param name="state">状态</param> /// <returns>加载状态</returns> public static int LoadData(int state) { ChatData chatData = new ChatData(); m_chatService.Enter(m_chatService.RequestID, chatData); Indicator indicator = new Indicator(); indicator.m_userID = m_userID; m_indicatorService.GetIndicators(m_indicatorService.GetListRequestID, indicator); SecurityFilterTemplate template = new SecurityFilterTemplate(); template.m_userID = m_userID; m_securityFilterService.GetTemplates(m_securityFilterService.GetListRequestID, template); UserSecurityVisitsCount visitsCount = new UserSecurityVisitsCount(); visitsCount.m_userID = DataCenter.UserID; m_userSecurityService.GetVisitsCount(m_userSecurityService.GetListRequestID, visitsCount); UserSecurityCategory category = new UserSecurityCategory(); category.m_userID = m_userID; m_userSecurityService.GetCategories(m_userSecurityService.GetListRequestID, category); IndicatorLayout indicatorLayout = new IndicatorLayout(); indicatorLayout.m_userID = m_userID; m_indicatorLayoutService.GetLayouts(m_indicatorLayoutService.GetListRequestID, indicatorLayout); Macro macro = new Macro(); macro.m_userID = m_userID; m_macroService.GetMacros(m_macroService.GetListRequestID, macro); UserSession userSession = new UserSession(); userSession.m_userID = m_userID; m_userSessionService.GetSessions(m_userSessionService.GetListRequestID, userSession); if (state == 1) { m_securityService.LoadSecurities(); } if (m_mainUI != null) { m_mainUI.LoadData(); } return(0); }
/// <summary> /// 执行秒表方法 /// </summary> /// <param name="timerID">秒表ID</param> public void OnTimer(int timerID) { if (m_timerID == timerID) { SecurityFilterTemplate template = new SecurityFilterTemplate(); GetTemplate(ref template); SecurityFilterTask task = m_securityFilterService.GetTask(template.m_templateID); ButtonA btnRun = GetButton("btnRun"); if (task != null && btnRun != null) { if (task.RunningState >= 0) { if (btnRun.Text != "停止") { btnRun.Text = "停止"; m_window.Invalidate(); } } else { if (btnRun.Text != "运行") { btnRun.Text = "运行"; m_window.Invalidate(); } } } else { if (btnRun != null && btnRun.Text != "运行") { btnRun.Text = "运行"; m_window.Invalidate(); } } } }
/// <summary> /// 添加模板到表格控件中 /// </summary> /// <param name="templates">模板列表</param> private void AddTemplatesToGrid(List <SecurityFilterTemplate> templates) { m_gridTemplate.BeginUpdate(); int templatesSize = templates.Count; for (int i = 0; i < templatesSize; i++) { SecurityFilterTemplate template = templates[i]; GridRow row = new GridRow(); row.Grid = m_gridTemplate; GridStringCell idCell = new GridStringCell(); idCell.Grid = m_gridTemplate; idCell.Column = m_gridTemplate.GetColumn(0); idCell.Text = template.m_templateID; row.AddCell(0, idCell); GridStringCell textCell = new GridStringCell(); textCell.Grid = m_gridTemplate; textCell.Column = m_gridTemplate.GetColumn(1); textCell.Text = template.m_name; row.AddCell(1, textCell); m_gridTemplate.AddRow(row); } m_gridTemplate.EndUpdate(); }
/// <summary> /// 接收消息方法 /// </summary> /// <param name="message">消息</param> public override void OnReceive(CMessage message) { if (message.m_functionID != SecurityFilterService.FUNCTIONID_SECURITYFILTER_STARTFILTER && message.m_functionID != SecurityFilterService.FUNCTIONID_SECURITYFILTER_STOPFILTER) { if (message.m_functionID != FUNCTIONID_SECURITYFILTER_GETTEMPLATES) { message.m_requestID = m_operatorRequestID; } List <SecurityFilterTemplate> templates = new List <SecurityFilterTemplate>(); SecurityFilterService.GetTemplates(templates, message.m_body, message.m_bodyLength); int templatesSize = templates.Count; switch (message.m_functionID) { case FUNCTIONID_SECURITYFILTER_GETTEMPLATES: { m_templates = templates; m_loaded = true; break; } case FUNCTIONID_SECURITYFILTER_ADDTEMPLATES: { bool add = false; for (int i = 0; i < templatesSize; i++) { SecurityFilterTemplate template = null; if (!GetTemplate(templates[i].m_templateID, ref template)) { m_templates.Add(templates[i]); add = true; } } if (!add) { return; } break; } case FUNCTIONID_SECURITYFILTER_DELETETEMPLATES: { for (int i = 0; i < templatesSize; i++) { SecurityFilterTemplate template = null; if (GetTemplate(templates[i].m_templateID, ref template)) { m_templates.Remove(template); } } break; } case FUNCTIONID_SECURITYFILTER_UPDATETEMPLATES: { for (int i = 0; i < templatesSize; i++) { SecurityFilterTemplate updateTemplate = templates[i]; int curTemplatesSize = m_templates.Count; for (int j = 0; j < curTemplatesSize; j++) { SecurityFilterTemplate sfTemplate = m_templates[j]; if (sfTemplate.m_templateID == updateTemplate.m_templateID) { m_templates[j] = updateTemplate; break; } } } break; } } } base.OnReceive(message); }