using Admin.Core.IService;
using Admin.Core.Service;
using Aucma.Core.Palletiz.Views;
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
using CommunityToolkit.Mvvm.Messaging;
using Microsoft.Extensions.DependencyInjection;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;

namespace Aucma.Core.Palletiz.ViewModels
{
    /**
     * 发泡计划
     * 
     * */
    public partial class PlanPageViewModel : ObservableObject
    {
        protected readonly IBoxFoamPlanServices? _boxFoamPlanServices;
        public PlanPageViewModel()
        {
            _boxFoamPlanServices = App.ServiceProvider.GetService<IBoxFoamPlanServices>();
           
            InitData();
        }

        public async void InitData()
        {
            var task =await _boxFoamPlanServices.QueryAsync();
            task.OrderBy(d=>d.ObjId);
            foreach (var item in task)
            {
                Id.Add(item.ObjId);
                MaterialCode.Add(item.MaterialCode);
                MaterialName.Add(item.MaterialName);
                PlanAmount.Add(item.PlanAmount);
            }
        }

        #region MyRegion
        private ObservableCollection<int> _id = new ObservableCollection<int>();
        public ObservableCollection<int> Id
        {
            get => _id;
            set => SetProperty(ref _id, value);
        }
        private ObservableCollection<string> _materialCode = new ObservableCollection<string>();
        public ObservableCollection<string> MaterialCode
        {
            get => _materialCode;
            set => SetProperty(ref _materialCode, value);
        }
        private ObservableCollection<string> _materialName = new ObservableCollection<string>();
        public ObservableCollection<string> MaterialName
        {
            get => _materialName;
            set => SetProperty(ref _materialName, value);
        }
        private ObservableCollection<int> _planAmount = new ObservableCollection<int>();
        public ObservableCollection<int> PlanAmount
        {
            get => _planAmount;
            set => SetProperty(ref _planAmount, value);
        }
        #endregion

    }
}