Exemplo n.º 1
0
        private void 设置颜色(E健康状态 __状态)
        {
            switch (__状态)
            {
            case E健康状态.优:
                this.out健康状态标题.BackColor = Color.YellowGreen;
                this.out健康状态.ForeColor   = Color.YellowGreen;
                break;

            case E健康状态.良:
                this.out健康状态标题.BackColor = Color.FromArgb(38, 164, 221);
                this.out健康状态.ForeColor   = Color.FromArgb(38, 164, 221);
                break;

            case E健康状态.中:
                this.out健康状态标题.BackColor = Color.Orange;
                this.out健康状态.ForeColor   = Color.Orange;
                break;

            case E健康状态.差:
                this.out健康状态标题.BackColor = Color.Red;
                this.out健康状态.ForeColor   = Color.Red;
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
Exemplo n.º 2
0
 public void 初始化(List <M上报告警> __未清除告警, DateTime __启动时间, Func <E健康状态> __设置健康状态 = null)
 {
     启动时间        = __启动时间;
     _设置健康状态     = __设置健康状态;
     this.健康状态   = E健康状态.优;
     this.状态开始时间 = DateTime.Now;
     if (__未清除告警 != null && __未清除告警.Count > 0)
     {
         _待处理问题.AddRange(__未清除告警);
         计算健康状态(true);
     }
     else
     {
         计算健康状态(false);
     }
 }
Exemplo n.º 3
0
        private void 计算健康状态(bool _待处理问题数变化)
        {
            var __新状态 = E健康状态.优;

            if (_设置健康状态 == null)
            {
                if (_待处理问题.Exists(q => q.重要性 == E重要性.紧急))
                {
                    __新状态 = E健康状态.差;
                }
                else if (_待处理问题.Exists(q => q.重要性 == E重要性.重要))
                {
                    __新状态 = E健康状态.中;
                }
                else if (_待处理问题.Exists(q => q.重要性 == E重要性.次要))
                {
                    __新状态 = E健康状态.良;
                }
            }
            else
            {
                __新状态 = _设置健康状态();
            }
            if (__新状态 != this.健康状态)
            {
                //var __旧状态 = this.健康状态;
                this.健康状态   = __新状态;
                this.状态开始时间 = DateTime.Now;
                On健康状态变化(查询概要状态());
                return;
            }
            if (_待处理问题数变化)
            {
                On健康状态变化(查询概要状态());
            }
        }