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;
}
}
}