using BPASmartClient.Helper;
using BPASmartClient.MorkF.Model;
using Microsoft.Toolkit.Mvvm.ComponentModel;
using Microsoft.Toolkit.Mvvm.Input;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace BPASmartClient.MorkF.ViewModel
{
    internal class DebugViewModel : ObservableObject
    {
        public bool SimOrderEnable { get { return General_Config.SimOrderAllow; } set { General_Config.SimOrderAllow = value; OnPropertyChanged(); } }

        public RelayCommand PlcInite { get; set; }
        public RelayCommand SimulateOrder { get; set; }
        public RelayCommand MaterialOne { get; set; }
        public RelayCommand MaterialTwo { get; set; }
        public RelayCommand MaterialThree { get; set; }
        public RelayCommand MaterialFour { get; set; }
        public RelayCommand MaterialFive { get; set; }
        public RelayCommand OpenExhaust { get;set; }
        public RelayCommand CloaseExhaust { get; set; }
        public RelayCommand StartQXOne { get; set; }
        public RelayCommand StartQXTwo { get; set; }


        public RelayCommand ShreddCabbage { get; set; }
        public RelayCommand FryPork { get; set; }
        public RelayCommand XingBaoGu { get; set; }

        public RelayCommand TakePot { get; set; }
        public RelayCommand TakePotReset { get; set; }
        public RelayCommand TakeMaterial { get; set; }
        public RelayCommand OutMeal { get; set; }

        public RelayCommand AddOil { get; set; }
        public RelayCommand TempTurnOff { get; set; }
        public RelayCommand OneBlock { get; set; }
        public RelayCommand TwoBlock { get; set; }
        public RelayCommand ThreeBlock { get; set; }
        public RelayCommand OverTurnOff { get; set; }
        public RelayCommand OverOneBlock { get; set; }
        public RelayCommand OverTwoBlock { get; set; }
        public RelayCommand OverThreeBlock { get; set; }
        public RelayCommand OverGoOn { get; set; }
        public RelayCommand OverGoDown { get; set; }
        public RelayCommand AutoModel { get; set; }
        public RelayCommand ManualModel { get; set; }

        public RelayCommand SecAddOil { get; set; }
        public RelayCommand SecTempTurnOff { get; set; }
        public RelayCommand SecOneBlock { get; set; }
        public RelayCommand SecTwoBlock { get; set; }
        public RelayCommand SecThreeBlock { get; set; }
        public RelayCommand SecOverTurnOff { get; set; }
        public RelayCommand SecOverOneBlock { get; set; }
        public RelayCommand SecOverTwoBlock { get; set; }
        public RelayCommand SecOverThreeBlock { get; set; }
        public RelayCommand SecOverGoOn { get; set; }
        public RelayCommand SecOverGoDown { get; set; }
        public RelayCommand SecAutoModel { get; set; }
        public RelayCommand SecManualModel { get; set; }
        public DebugViewModel()
        {
            PlcInite = new RelayCommand(() => { ActionManage.GetInstance.Send("InitCommand"); });

            SimulateOrder = new RelayCommand(() => {ActionManage.GetInstance.Send("SimultaorOrder"); });
            MaterialOne= new RelayCommand(() => { ActionManage.GetInstance.Send("MaterialOne"); });
            MaterialTwo = new RelayCommand(() => { ActionManage.GetInstance.Send("MaterialTwo"); });
            MaterialThree = new RelayCommand(() => { ActionManage.GetInstance.Send("MaterialThree"); });
            MaterialFour = new RelayCommand(() => { ActionManage.GetInstance.Send("MaterialFour"); });
            MaterialFive = new RelayCommand(() => { ActionManage.GetInstance.Send("MaterialFive"); });
            OpenExhaust = new RelayCommand(() => { ActionManage.GetInstance.Send("OpenExhaust"); });
            CloaseExhaust = new RelayCommand(() => { ActionManage.GetInstance.Send("CloseExhaust"); });
            StartQXOne=new RelayCommand(() => { ActionManage.GetInstance.Send("StartQXOne",1); });
            StartQXTwo = new RelayCommand(() => { ActionManage.GetInstance.Send("StartQXTwo",2); });

            ShreddCabbage = new RelayCommand(() => { ActionManage.GetInstance.Send("ShreddCabbage"); });
            FryPork = new RelayCommand(() => { ActionManage.GetInstance.Send("FryPork"); });
            XingBaoGu = new RelayCommand(() => { ActionManage.GetInstance.Send("XingBaoGu"); });

            TakePot = new RelayCommand(() => { ActionManage.GetInstance.Send("TakePot"); });
            TakePotReset = new RelayCommand(() => { ActionManage.GetInstance.Send("TakePotReset"); });
            TakeMaterial= new RelayCommand(() => { ActionManage.GetInstance.Send("TakeMaterial"); });
            OutMeal = new RelayCommand(() => { ActionManage.GetInstance.Send("OutMeal"); });

            AddOil = new RelayCommand(() => { ActionManage.GetInstance.Send("AddOil", 1); });
            TempTurnOff = new RelayCommand(() => { ActionManage.GetInstance.Send("TakeOff", 1); });
            OneBlock = new RelayCommand(() => { ActionManage.GetInstance.Send("OneBlock",1); });
            TwoBlock = new RelayCommand(() => { ActionManage.GetInstance.Send("TwoBlock",1); });
            ThreeBlock = new RelayCommand(() => { ActionManage.GetInstance.Send("ThreeBlock",1); });
            OverTurnOff = new RelayCommand(() => { ActionManage.GetInstance.Send("OverTurnOff",1); });
            OverOneBlock = new RelayCommand(() => { ActionManage.GetInstance.Send("OverOneBlock",1); });
            OverTwoBlock = new RelayCommand(() => { ActionManage.GetInstance.Send("OverTwoBlock",1); });
            OverThreeBlock = new RelayCommand(() => { ActionManage.GetInstance.Send("OverThreeBlock",1); });
            OverGoOn = new RelayCommand(() => { ActionManage.GetInstance.Send("OverGoOn",1); });
            OverGoDown = new RelayCommand(() => { ActionManage.GetInstance.Send("OverGoDown",1); });
            AutoModel = new RelayCommand(()=>{ActionManage.GetInstance.Send("AutoModel",1); });
            ManualModel = new RelayCommand(() => { ActionManage.GetInstance.Send("ManualModel",1); });

            SecAddOil = new RelayCommand(() => { ActionManage.GetInstance.Send("AddOil", 2); });
            SecTempTurnOff = new RelayCommand(() => { ActionManage.GetInstance.Send("TakeOff", 2); });
            SecOneBlock = new RelayCommand(() => { ActionManage.GetInstance.Send("OneBlock", 2); });
            SecTwoBlock = new RelayCommand(() => { ActionManage.GetInstance.Send("TwoBlock", 2); });
            SecThreeBlock = new RelayCommand(() => { ActionManage.GetInstance.Send("ThreeBlock", 2); });
            SecOverTurnOff = new RelayCommand(() => { ActionManage.GetInstance.Send("OverTurnOff", 2); });
            SecOverOneBlock = new RelayCommand(() => { ActionManage.GetInstance.Send("OverOneBlock", 2); });
            SecOverTwoBlock = new RelayCommand(() => { ActionManage.GetInstance.Send("OverTwoBlock", 2); });
            SecOverThreeBlock = new RelayCommand(() => { ActionManage.GetInstance.Send("OverThreeBlock", 2); });
            SecOverGoOn = new RelayCommand(() => { ActionManage.GetInstance.Send("OverGoOn", 2); });
            SecOverGoDown = new RelayCommand(() => { ActionManage.GetInstance.Send("OverGoDown", 2); });
            SecAutoModel = new RelayCommand(() => { ActionManage.GetInstance.Send("AutoModel", 2); });
            SecManualModel = new RelayCommand(() => { ActionManage.GetInstance.Send("ManualModel", 2); });
        }
       
    }
}
