using Admin.Core.IService; using Admin.Core.Model.Model_New; using Admin.Core.Service; using Aucma.Core.OldBoxFoam.Business; using Aucma.Core.OldBoxFoam.Models; using Aucma.Core.OldBoxFoam.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.Timers; using System.Windows; namespace Aucma.Core.OldBoxFoam.ViewModels { /** * 发泡计划 * * */ public partial class RealRoadPageViewModel : ObservableObject { protected readonly IBoxFoamPlanServices? _boxFoamPlanServices; private IOldBoxFoamTypeServices? _oldBoxFoamTypeServices; System.Timers.Timer timer2 = new System.Timers.Timer(3000); public RealRoadPageViewModel() { _boxFoamPlanServices = App.ServiceProvider.GetService(); _oldBoxFoamTypeServices = App.ServiceProvider.GetService(); //InitData(); Collection.RefreshSpaceEvent += InitData; timer2.Elapsed += new System.Timers.ElapsedEventHandler(InitData); //到达时间的时候执行事件; timer2.AutoReset = true;//设置是执行一次(false)还是一直执行(true); timer2.Enabled = true;//需要调用 timer.Start()或者timer.Enabled = true来启动它, timer2.Start();//timer.Start()的内部原理还是设置timer.Enabled = true; } public async void InitData(object? sender, ElapsedEventArgs e) { List list = await _oldBoxFoamTypeServices.QueryAsync(); if (list == null) return; System.Windows.Application.Current.Dispatcher.Invoke((Action)(() => { ListItems.Clear(); foreach (OldBoxFoamType item in list) { ListItems.Add(new OldBoxFoamTypeModel() { ObjId = item.ObjId, Local = item.Local, Status = item.Storeamount==3?"1":"0", Storeamount = item.Storeamount, MaterialCode = item.MaterialCode, MaterialName = item.MaterialName, Boxtype = item.Boxtype, }); ; } })); } #region 初始化datagrid private ObservableCollection listItems = new ObservableCollection(); public ObservableCollection ListItems { get { return listItems; } set { listItems = value; OnPropertyChanged();//属性通知 } } #endregion #region 型号统计柱状图X轴日期 /// /// 型号统计柱状图X轴日期 /// private List materialNameList; public List MaterialNameList { get { return materialNameList; } set { materialNameList = value; } } #endregion public void InitData(List spaceDetailModel) { if (spaceDetailModel == null) return; //List list = new List(); //var stroreList= await _oldBoxFoamTypeServices.QueryAsync(); //foreach (OldBoxFoamType model in stroreList) //{ // foreach (var item in spaceDetailModel) // { // if (model.ObjId==item.ObjId) // { // model.Storeamount = item.StoreAmount; // model.Boxtype = item.StoreType; // list.Add(model); // } // } //} //await _oldBoxFoamTypeServices.UpdateAsync(list); foreach(var item in spaceDetailModel) { var spaceList = _oldBoxFoamTypeServices.Query(x=>x.ObjId == item.ObjId); if(spaceList != null) { if(spaceDetailModel.Count > 0) { var spaceInfo = spaceList.FirstOrDefault(); spaceInfo.Storeamount = item.StoreAmount; spaceInfo.Boxtype = item.StoreType; _oldBoxFoamTypeServices.UpdateAsync(spaceInfo); } } } } } }