using Admin.Core.IService;
using Admin.Core.Model;
using Admin.Core.Model.ViewModels;
using Admin.Core.Service;
using Admin.Core.Tasks;
using Aucma.Core.BoxFoam.Models;
using CommunityToolkit.Mvvm.ComponentModel;
using Microsoft.Extensions.DependencyInjection;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
/**
 * 老发泡线监控
 * */
namespace Aucma.Core.BoxFoam.ViewModels
{
    public  partial class OldBoxFoamPageViewModel : ObservableObject
    {
         IBoxFoamDataServices? _oldBoxFoamDataServices;
        IOldBoxFoamTypeServices _oldBoxFoamTypeServices;
        public OldBoxFoamPageViewModel() {
            _oldBoxFoamDataServices = App.ServiceProvider.GetService<IBoxFoamDataServices>();
            _oldBoxFoamTypeServices = App.ServiceProvider.GetService<IOldBoxFoamTypeServices>();

            //Job_OldBoxFoam_Quartz.RefreshOldBoxFoamTypeDataDelegateEvent += OldBoxFoamTypeOnLoad;

            OldBoxFoamOnLoad();
            OldBoxFoamTypeOnLoad();
        }

        #region 初始化加载数据

        public async Task OldBoxFoamOnLoad()
        {
            List<BoxFoamData> list = await _oldBoxFoamDataServices.QueryAsync();
            if (list == null) return;
            foreach (var item in list)
            {
                OldBoxFoamDataModel model = new OldBoxFoamDataModel();
                model.ObjId = item.ObjId;
                model.Fixtureboxtype = item.Fixtureboxtype;
                model.Fixturestatus = item.Fixturestatus;
                model.Production = item.Production;
                model.CuringTimeSettingValue = item.CuringTimeSettingValue;
                model.ActualValue = item.ActualValue;

                OldBoxFoamDataGrid.Add(model);
            }
        }
        public async Task OldBoxFoamTypeOnLoad()
        {
            var list =await  _oldBoxFoamTypeServices.QueryAsync();
            if (list == null) return;
            foreach (var item in list)
            {
                OldBoxFoamTypeModel model = new OldBoxFoamTypeModel();
                model.ObjId = item.ObjId;
                model.Local = item.Local;
                model.Boxtype = item.Boxtype;
                model.Storeamount = item.Storeamount;
                OldBoxFoamTypeDataGrid.Add(model);
            }
        }
        #endregion

        #region 初始化发泡线 datagrid
        private ObservableCollection<OldBoxFoamDataModel> oldBoxFoamDataGrid = new ObservableCollection<OldBoxFoamDataModel>();
        public ObservableCollection<OldBoxFoamDataModel> OldBoxFoamDataGrid
        {
            get { return oldBoxFoamDataGrid; }
            set
            {
                oldBoxFoamDataGrid = value;
                OnPropertyChanged();//属性通知
            }
        }
        #endregion

        #region 初始化泡前库 datagrid
        private ObservableCollection<OldBoxFoamTypeModel> oldBoxFoamTypeDataGrid = new ObservableCollection<OldBoxFoamTypeModel>();
        public ObservableCollection<OldBoxFoamTypeModel> OldBoxFoamTypeDataGrid
        {
            get { return oldBoxFoamTypeDataGrid; }
            set
            {
                oldBoxFoamTypeDataGrid = value;
                OnPropertyChanged();//属性通知
            }
        }
        #endregion
    }
}