using CommunityToolkit.Mvvm.ComponentModel; using System; using System.Collections.ObjectModel; using log4net; using Aucma.Core.DoorFoam.Common; using LiveCharts; using System.Collections.Generic; using Admin.Core.Model; using Admin.Core.Service; using LiveCharts.Wpf; using Admin.Core.IService; using Microsoft.Extensions.DependencyInjection; using System.Threading.Tasks; using System.Windows.Media; using Admin.Core.Model.ViewModels; using Pipelines.Sockets.Unofficial.Arenas; using NPOI.SS.Formula.Functions; using Aucma.Core.DoorFoam.Models; using Aucma.Core.DoorFoam.Business; using System.Threading; using System.Collections; using NPOI.Util; using SqlSugar; using System.Linq; /* * 首页信息 */ namespace Aucma.Core.DoorFoam.ViewModels { public partial class IndexPageViewModel : ObservableObject { private static readonly log4net.ILog log = LogManager.GetLogger(typeof(IndexPageViewModel)); private DoorCollection doorCollection = new DoorCollection(); private CollectionFoamMachine collectionFoam = new CollectionFoamMachine(); public IndexPageViewModel() { doorCollection.RefreshDoorFoamMachineEvent += info => { RefreshDoorFoamMachineDataGrid(info); }; Task.Run(() => { Thread.Sleep(1000*10); doorCollection.startCollect(); }); Task.Run(() => { Thread.Sleep(1000 * 10); collectionFoam.startCollect(); }); } #region 获取今天的数据 /// /// 获取今天的数据 /// /// private void InitEveryDayMethodAsync(List mode) { if (mode == null) return; foreach (var modeItem in mode) { DoorFp1DataGrid.Add(modeItem); } } #endregion #region 获取今天的数据 /// /// 获取今天的数据 /// /// private void InitEveryDayMethod2Async(List mode) { if (mode == null) return; foreach (var modeItem in mode) { DoorFp1DataGrid.Add(modeItem); } } #endregion #region 初始化datagrid private ObservableCollection _doorFp1DataGrid = new ObservableCollection(); public ObservableCollection DoorFp1DataGrid { get { return _doorFp1DataGrid; } set { _doorFp1DataGrid = value; OnPropertyChanged();//属性通知 } } #endregion #region 初始化datagrid private ObservableCollection _doorFp2DataGrid = new ObservableCollection(); public ObservableCollection DoorFp2DataGrid { get { return _doorFp1DataGrid; } set { _doorFp1DataGrid = value; OnPropertyChanged();//属性通知 } } #endregion private string _stationName; public string StationName { get { return _stationName; } set { _stationName = DateTime.Now.ToString(); SetProperty(ref _stationName, value); } } private ObservableCollection dataGridItemLeft = new ObservableCollection(); private IEnumerable doorFoamMachineDataGrid_Left; public IEnumerable DoorFoamMachineDataGrid_Left { get { return doorFoamMachineDataGrid_Left; } set { doorFoamMachineDataGrid_Left = value; OnPropertyChanged(); } } private ObservableCollection dataGridItemRight = new ObservableCollection(); private IEnumerable doorFoamMachineDataGrid_Right; public IEnumerable DoorFoamMachineDataGrid_Right { get { return doorFoamMachineDataGrid_Right; } set { doorFoamMachineDataGrid_Right = value; OnPropertyChanged(); } } private void RefreshDoorFoamMachineDataGrid(List data) { dataGridItemLeft = new ObservableCollection(); int totalItems = data.Count; int half = totalItems / 2; List doorFoamMachineLeft = data.Take(half).ToList(); List doorFoamMachineRight = data.Skip(half).ToList(); doorFoamMachineLeft.ForEach(x=> dataGridItemLeft.Add(x)); DoorFoamMachineDataGrid_Left = dataGridItemLeft; doorFoamMachineRight.ForEach(x=>dataGridItemRight.Add(x)); DoorFoamMachineDataGrid_Right = doorFoamMachineRight; } } }