using CapMachine.Wpf.Models;
using Prism.Events;
using Prism.Mvvm;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CapMachine.Wpf.Services
{
///
/// 系统
///
public class SysRunService : BindableBase
{
public SysRunService(IEventAggregator eventAggregator,ConfigService configService,CanDriveService canDriveService,LinDriveService linDriveService)
{
// 创建一个定时器,设置间隔时间为2000毫秒(即2秒)
CurTimer = new System.Timers.Timer(5000);
CurTimer.AutoReset = true;
// 设置Elapsed事件处理程序
CurTimer.Elapsed += CurTimer_Elapsed;
// 启动定时器
CurTimer.Start();
EventAggregator = eventAggregator;
ConfigService = configService;
CanDriveService = canDriveService;
LinDriveService = linDriveService;
MachineRunState1 = new MachineRunState("M1", EventAggregator, ConfigService,canDriveService,linDriveService);
}
///
/// 设备运行状态
///
public MachineRunState MachineRunState1 { get; set; }
private void CurTimer_Elapsed(object? sender, System.Timers.ElapsedEventArgs e)
{
CurDateTime = DateTime.Now;
}
///
/// 定时器
///
private System.Timers.Timer CurTimer { get; set; }
private DateTime _CurDateTime;
///
/// 当前时间信息
///
public DateTime CurDateTime
{
get { return _CurDateTime; }
set { _CurDateTime = value; RaisePropertyChanged(); }
}
///
/// 时间发布器
///
public IEventAggregator EventAggregator { get; }
public ConfigService ConfigService { get; }
public CanDriveService CanDriveService { get; }
public LinDriveService LinDriveService { get; }
}
}