private void AdjustBrightnessConfig(LightSensorConfigState configState)
        {
            if (_brightnessVM == null || _brightnessVM.BrightnessConfigList == null)
            {
                return;
            }

            switch (configState)
            {
            case LightSensorConfigState.OK_State:
                this.alertInfoLabel.Text = string.Empty;
                break;

            case LightSensorConfigState.NoSensor_State:
                var resultItemNoSensor = _brightnessVM.BrightnessConfigList.FirstOrDefault(c => c.Type == SmartBrightAdjustType.AutoBright && c.IsConfigEnable);
                if (resultItemNoSensor == null)
                {
                    this.alertInfoLabel.Text = string.Empty;
                    return;
                }
                else
                {
                    this.alertInfoLabel.Text = CommonUI.GetCustomMessage(_langTable, "nolightsensorconfig", "没有选择所需的光探头,所有自动调节配置将失效!");
                }
                break;

            case LightSensorConfigState.NoMapping_State:
                var resultItemNoMapping = _brightnessVM.BrightnessConfigList.FirstOrDefault(c => c.Type == SmartBrightAdjustType.AutoBright && c.IsConfigEnable);
                if (resultItemNoMapping == null)
                {
                    this.alertInfoLabel.Text = string.Empty;
                    return;
                }
                else
                {
                    this.alertInfoLabel.Text = CommonUI.GetCustomMessage(_langTable, "nolightsensormappingconfig", "没有配置光探头的亮度映射表,所有自动调节配置将失效!");
                }
                break;

            case LightSensorConfigState.InvalidSensor_State:
                this.alertInfoLabel.Text = CommonUI.GetCustomMessage(_langTable, "partlightsensorfail", "配置了自动亮度,选择的部分光探头在无软件时不可用!");
                break;

            default:
                break;
            }

            //if (configState == LightSensorConfigState.NoSensor_State || configState == LightSensorConfigState.NoMapping_State)
            //{

            //    _screenConfigInfo.DispaySoftWareConfig.OneDayConfigList.ForEach((c) =>
            //    {
            //        if (c.ScheduleType == SmartBrightAdjustType.AutoBright)
            //        {
            //            c.IsConfigEnable = false;
            //        }
            //    });
            //}
        }
        private void openOpticalProbeConfigButton_Click(object sender, EventArgs e)
        {
            frm_OpticalProbeConfig frmConfig = new frm_OpticalProbeConfig(true, _screenConfigInfo);

            frmConfig.SensorTestEvent -= frmConfig_SensorTestEvent;
            frmConfig.SensorTestEvent += frmConfig_SensorTestEvent;
            //frmConfig.Owner = (Form)this.Parent.Parent.Parent;
            if (frmConfig.ShowDialog() == DialogResult.OK)
            {
                if (_screenConfigInfo.DispaySoftWareConfig == null)
                {
                    _screenConfigInfo.DispaySoftWareConfig = new DisplaySmartBrightEasyConfig();
                }
                _screenConfigInfo.DispaySoftWareConfig.AutoBrightSetting = frmConfig.BrightExtendData;
                if (_screenConfigInfo.DisplayHardcareConfig == null)
                {
                    _screenConfigInfo.DisplayHardcareConfig = new DisplaySmartBrightEasyConfigBase();
                }
                _screenConfigInfo.DisplayHardcareConfig.AutoBrightSetting = frmConfig.BrightExtendData;

                ConfigState = frmConfig.ConfigState;
            }
        }
        private void SetAlertInfo(LightSensorConfigState configState)
        {
            switch (configState)
            {
            case LightSensorConfigState.OK_State:
                this.alertInfoLabel.Text = string.Empty;
                break;

            case LightSensorConfigState.NoSensor_State:
                this.alertInfoLabel.Text = CommonUI.GetCustomMessage(_langTable, "nolightsensorconfig", "没有选择所需的光探头,所有自动调节配置将失效!");
                break;

            case LightSensorConfigState.NoMapping_State:
                this.alertInfoLabel.Text = CommonUI.GetCustomMessage(_langTable, "nolightsensormappingconfig", "没有配置光探头的亮度映射表,所有自动调节配置将失效!");
                break;

            case LightSensorConfigState.InvalidSensor_State:
                this.alertInfoLabel.Text = CommonUI.GetCustomMessage(_langTable, "partlightsensorfail", "配置了自动亮度,选择的部分光探头在无软件时不可用!");
                break;

            default:
                break;
            }
        }
        public void InitialControlConfig(string sn, BrightnessConfigType type, DisplaySmartBrightEasyConfigBase cfg)
        {
#if test
            if (MonitorAllConfig.Instance().BrightnessConfigList == null || MonitorAllConfig.Instance().BrightnessConfigList.Count == 0)
            {
                MonitorAllConfig.Instance().BrightnessConfigList = new List <DisplaySmartBrightEasyConfig>();
                DisplaySmartBrightEasyConfig cfg = new DisplaySmartBrightEasyConfig();
                cfg.DisplayUDID       = "1405220000041214-00";
                cfg.AutoBrightSetting = new AutoBrightExtendData();
                cfg.OneDayConfigList  = new List <OneSmartBrightEasyConfig>();
                OneSmartBrightEasyConfig oneCfg = new OneSmartBrightEasyConfig();
                oneCfg.BrightPercent       = 80;
                oneCfg.CustomDayCollection = new List <DayOfWeek>();
                oneCfg.CustomDayCollection.Add(DayOfWeek.Monday);
                oneCfg.CustomDayCollection.Add(DayOfWeek.Tuesday);
                oneCfg.CustomDayCollection.Add(DayOfWeek.Wednesday);
                oneCfg.CustomDayCollection.Add(DayOfWeek.Thursday);
                oneCfg.CustomDayCollection.Add(DayOfWeek.Friday);
                cfg.OneDayConfigList.Add(oneCfg);
                oneCfg.IsConfigEnable = true;
                oneCfg.ScheduleType   = SmartBrightAdjustType.FixBright;
                oneCfg.StartTime      = DateTime.Now;


                OneSmartBrightEasyConfig oneCfg1 = new OneSmartBrightEasyConfig();
                oneCfg1.BrightPercent       = 80;
                oneCfg1.CustomDayCollection = new List <DayOfWeek>();
                oneCfg1.CustomDayCollection.Add(DayOfWeek.Monday);
                oneCfg1.CustomDayCollection.Add(DayOfWeek.Tuesday);
                oneCfg1.CustomDayCollection.Add(DayOfWeek.Wednesday);
                oneCfg1.CustomDayCollection.Add(DayOfWeek.Thursday);
                cfg.OneDayConfigList.Add(oneCfg1);
                oneCfg1.IsConfigEnable = true;
                oneCfg1.ScheduleType   = SmartBrightAdjustType.AutoBright;
                oneCfg1.StartTime      = DateTime.Now;


                OneSmartBrightEasyConfig oneCfg2 = new OneSmartBrightEasyConfig();
                oneCfg2.BrightPercent       = 80;
                oneCfg2.CustomDayCollection = new List <DayOfWeek>();
                oneCfg2.CustomDayCollection.Add(DayOfWeek.Monday);
                oneCfg2.CustomDayCollection.Add(DayOfWeek.Tuesday);
                oneCfg2.CustomDayCollection.Add(DayOfWeek.Wednesday);
                oneCfg2.CustomDayCollection.Add(DayOfWeek.Thursday);
                oneCfg2.CustomDayCollection.Add(DayOfWeek.Friday);
                oneCfg2.CustomDayCollection.Add(DayOfWeek.Saturday);
                oneCfg2.CustomDayCollection.Add(DayOfWeek.Sunday);
                cfg.OneDayConfigList.Add(oneCfg2);
                oneCfg2.IsConfigEnable = true;
                oneCfg2.ScheduleType   = SmartBrightAdjustType.AutoBright;
                oneCfg2.StartTime      = DateTime.Now;
                MonitorAllConfig.Instance().BrightnessConfigList.Add(cfg);
            }
#endif
            _type = type;
            dataGridView_BrightnessConfig.Rows.Clear();
            BrightnessConfig_BindingSource.Clear();
            _brightnessVM.Initialize(sn, cfg);
            BrightnessConfig_BindingSource.ResetBindings(false);
            _brightnessVM.BrightnessConfigList.Sort(CompareBrightnessByTime);
            if (dataGridView_BrightnessConfig.SelectedRows.Count != 0)
            {
                dataGridView_BrightnessConfig.SelectedRows[0].Selected = false;
            }
            if (cfg == null)
            {
                return;
            }
            if (cfg.AutoBrightSetting == null || cfg.AutoBrightSetting.AutoBrightMappingList == null || cfg.AutoBrightSetting.AutoBrightMappingList.Count == 0)
            {
                ConfigState = LightSensorConfigState.NoMapping_State;
            }

            if (cfg.AutoBrightSetting == null || cfg.AutoBrightSetting.UseLightSensorList == null || cfg.AutoBrightSetting.UseLightSensorList.Count == 0)
            {
                ConfigState = LightSensorConfigState.NoSensor_State;
            }
        }
        public void InitialControlConfig(string sn, DisplaySmartBrightEasyConfigBase cfg)
        {
#if test
            if (MonitorAllConfig.Instance().BrightnessConfigList == null || MonitorAllConfig.Instance().BrightnessConfigList.Count == 0)
            {
                MonitorAllConfig.Instance().BrightnessConfigList = new List <DisplaySmartBrightEasyConfig>();
                DisplaySmartBrightEasyConfig cfg = new DisplaySmartBrightEasyConfig();
                cfg.DisplayUDID       = "1405220000041214-00";
                cfg.AutoBrightSetting = new AutoBrightExtendData();
                cfg.OneDayConfigList  = new List <OneSmartBrightEasyConfig>();
                OneSmartBrightEasyConfig oneCfg = new OneSmartBrightEasyConfig();
                oneCfg.BrightPercent       = 80;
                oneCfg.CustomDayCollection = new List <DayOfWeek>();
                oneCfg.CustomDayCollection.Add(DayOfWeek.Monday);
                oneCfg.CustomDayCollection.Add(DayOfWeek.Tuesday);
                oneCfg.CustomDayCollection.Add(DayOfWeek.Wednesday);
                oneCfg.CustomDayCollection.Add(DayOfWeek.Thursday);
                oneCfg.CustomDayCollection.Add(DayOfWeek.Friday);
                cfg.OneDayConfigList.Add(oneCfg);
                oneCfg.IsConfigEnable = true;
                oneCfg.ScheduleType   = SmartBrightAdjustType.FixBright;
                oneCfg.StartTime      = DateTime.Now;


                OneSmartBrightEasyConfig oneCfg1 = new OneSmartBrightEasyConfig();
                oneCfg1.BrightPercent       = 80;
                oneCfg1.CustomDayCollection = new List <DayOfWeek>();
                oneCfg1.CustomDayCollection.Add(DayOfWeek.Monday);
                oneCfg1.CustomDayCollection.Add(DayOfWeek.Tuesday);
                oneCfg1.CustomDayCollection.Add(DayOfWeek.Wednesday);
                oneCfg1.CustomDayCollection.Add(DayOfWeek.Thursday);
                cfg.OneDayConfigList.Add(oneCfg1);
                oneCfg1.IsConfigEnable = true;
                oneCfg1.ScheduleType   = SmartBrightAdjustType.AutoBright;
                oneCfg1.StartTime      = DateTime.Now;


                OneSmartBrightEasyConfig oneCfg2 = new OneSmartBrightEasyConfig();
                oneCfg2.BrightPercent       = 80;
                oneCfg2.CustomDayCollection = new List <DayOfWeek>();
                oneCfg2.CustomDayCollection.Add(DayOfWeek.Monday);
                oneCfg2.CustomDayCollection.Add(DayOfWeek.Tuesday);
                oneCfg2.CustomDayCollection.Add(DayOfWeek.Wednesday);
                oneCfg2.CustomDayCollection.Add(DayOfWeek.Thursday);
                oneCfg2.CustomDayCollection.Add(DayOfWeek.Friday);
                oneCfg2.CustomDayCollection.Add(DayOfWeek.Saturday);
                oneCfg2.CustomDayCollection.Add(DayOfWeek.Sunday);
                cfg.OneDayConfigList.Add(oneCfg2);
                oneCfg2.IsConfigEnable = true;
                oneCfg2.ScheduleType   = SmartBrightAdjustType.AutoBright;
                oneCfg2.StartTime      = DateTime.Now;
                MonitorAllConfig.Instance().BrightnessConfigList.Add(cfg);
            }
#endif
            _currentSn = sn;
            //SetBrightnessValue(MonitorAllConfig.Instance().GetCurrentBrightnessValueBy(_currentSn));
            InitializeViewData(sn, cfg);
            _brightnessVM.BrightnessConfigList.Sort(CompareBrightnessByTime);
            if (cfg == null)
            {
                ConfigState = LightSensorConfigState.NoSensor_State;
                return;
            }
            if (cfg.AutoBrightSetting == null || cfg.AutoBrightSetting.AutoBrightMappingList == null || cfg.AutoBrightSetting.AutoBrightMappingList.Count == 0)
            {
                ConfigState = LightSensorConfigState.NoMapping_State;
            }

            if (cfg.AutoBrightSetting == null || cfg.AutoBrightSetting.UseLightSensorList == null || cfg.AutoBrightSetting.UseLightSensorList.Count == 0)
            {
                ConfigState = LightSensorConfigState.NoSensor_State;
            }
        }