Beispiel #1
0
        /// <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();
            }
        }
Beispiel #2
0
        /// <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;
        }
Beispiel #3
0
        /// <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;
        }
Beispiel #4
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);
            }
        }
Beispiel #5
0
        /// <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);
        }
Beispiel #6
0
        /// <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);
            }
        }
Beispiel #7
0
        /// <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);
        }
Beispiel #8
0
        /// <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);
            }
        }
Beispiel #9
0
        /// <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();
        }
Beispiel #10
0
        /// <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();
        }
Beispiel #11
0
        /// <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);
        }
Beispiel #12
0
        /// <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();
            }
        }
Beispiel #13
0
        /// <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);
        }
Beispiel #14
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();
             }
         }
     }
 }
Beispiel #15
0
        /// <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();
        }
Beispiel #16
0
        /// <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);
        }