using System;
using System.Linq;
using System.Windows.Forms;
using Mesnac.Action.Base;
using Mesnac.Action.ChemicalWeighing.LjMaterial;
using Mesnac.Action.ChemicalWeighing.LjMetage;

namespace Mesnac.Action.ChemicalWeighing.LjElectrical
{
    public class UpAction:ChemicalWeighingAction, IAction
    {
     
        private RuntimeParameter _runtime;
        
        public static event EventHandler OnHandler;
        public void Run(RuntimeParameter runtime)
        {
            base.RunIni(runtime); //必须调用
            this._runtime = runtime;
            DbMCControl materialGridControl =
                this.GetDbMCControlByKey(Mesnac.Basic.DataSourceFactory.MCDbType.Local, "ElectricalSetting")
                    .FirstOrDefault(); //获取物料数据控件
            
            
            if (MessageBox.Show("确定上传到数据库?","提示",MessageBoxButtons.OKCancel,MessageBoxIcon.Information) == DialogResult.OK)
            {
                DoWord();
            };
            
        }

       
        private void DoWord()
        {
            var view = ElectricalPlc.UpFromPlc();
            foreach (var v in view)
            {
                string sql =
                    $"update  ElectricalSetting set Speed={v.Speed} where Id={v.Id}";
                DBHelp.ExecuteNonQuery(sql);
            }
            
            
            if (OnHandler != null)
            {
                OnHandler(this._runtime.BaseControl.MCRoot, System.EventArgs.Empty);
            }
        }
    }
}