using CapMachine.Model;
using CapMachine.Model.CANLIN;
using CapMachine.Wpf.Dtos;
using CapMachine.Wpf.Models;
using CapMachine.Wpf.PrismEvent;
using Prism.Events;
using Prism.Mvvm;
using Prism.Services.Dialogs;
using static CapMachine.Wpf.Models.ComEnum;
namespace CapMachine.Wpf.Services
{
///
/// 配置服务中心
/// 状态中心
///
public class ConfigService : BindableBase
{
public ConfigService(IEventAggregator eventAggregator, IDialogService dialogService)
{
CurUserDto = new UserDto();
EventAggregator = eventAggregator;
DialogService = dialogService;
}
///
/// Csv文件锁
/// 防止同时读取数据
///
public static readonly object CsvFileLock = new object();
///
/// 高速 消息数据的 Csv文件锁
/// 防止同时读取数据
///
public static readonly object HighSpeedMsgCsvFileLock = new object();
///
/// 高速数据文件缓存小时数
///
public short HighSpeedMsgCsvFileCacheHour { get; set; } = 5;
///
/// 记录周期
///
public short RecordCycle { get; set; } = 1000;
///
/// 是否开始记录数据
///
public bool IsRecord { get; set; } = false;
///
/// SCV保存的根路径
///
public string SaveCsvRootPath { get; set; } = "D:\\TestData";
///
/// 高速 消息数据的 SCV保存的根路径
///
public string HighSpeedMsgSaveCsvRootPath { get; set; } = "D:\\TestData";
///
/// 实时曲线数据缓存的时间(秒)
///
public int ChartRtDataCacheTimeSec { get; set; } = 3600_8;
///
/// 曲线保存临时状态
/// 曲线照片保存会执行两次,这个是屏蔽的状态
///
public bool ChartSavePageTempState { get; set; } = false;
///
/// CAN和LIN的运行状态模型
///
public CanLinRunStateModel CanLinRunStateModel { get; set; } = new CanLinRunStateModel();
private int _PlcCycleTime;
///
/// PLC循环时间
///
public int PlcCycleTime
{
get { return _PlcCycleTime; }
set
{
if (value!= _PlcCycleTime)
{
_PlcCycleTime = value;
RaisePropertyChanged();
}
}
}
private HistoryExp _CurExpInfo;
///
/// 当前的试验信息
///
public HistoryExp CurExpInfo
{
get { return _CurExpInfo; }
set
{
_CurExpInfo = value;
if (value != null)
{
IsExpInfoOk = true;
}
RaisePropertyChanged();
}
}
private bool _IsExpInfoOk;
///
/// 试验信息是否OK
///
public bool IsExpInfoOk
{
get { return _IsExpInfoOk; }
set { _IsExpInfoOk = value; RaisePropertyChanged(); }
}
/////
///// 当前的试验信息
/////
//public HistoryExp CurExpInfo { get; set; }
private UserDto _CurUserDto;
///
/// 当前的用户信息
///
public UserDto CurUserDto
{
get { return _CurUserDto; }
set { _CurUserDto = value; RaisePropertyChanged(); }
}
private bool _IsUserLoggedIn;
///
/// 当前用户是否已登录
///
public bool IsUserLoggedIn
{
get { return _IsUserLoggedIn; }
set { _IsUserLoggedIn = value; RaisePropertyChanged(); }
}
public IEventAggregator EventAggregator { get; }
public PPCService PPCService { get; }
public IDialogService DialogService { get; }
}
}