009_DI-Elec/newFront/c#前端/SWS.CAD/ViewModels/DialogPropertyHistoryViewModel.cs
2025-08-15 16:34:31 +08:00

73 lines
2.1 KiB
C#

using System.Collections.ObjectModel;
using System.IO;
using System.Windows.Forms;
using Prism.Dialogs;
using SWS.CAD.Models;
using SWS.CAD.Services;
using SWS.CAD.ViewModels.myViewModelBase;
using Unity;
using DialogResult = System.Windows.Forms.DialogResult;
using MessageBox = System.Windows.Forms.MessageBox;
namespace SWS.CAD.ViewModels
{
public class DialogPropertyHistoryViewModel : DialogBase, IDialogAware
{
ObjectTypeService _objectTypeService { get; set; }
public DialogPropertyHistoryViewModel()
{
_objectTypeService = GlobalObject.container.Resolve<ObjectTypeService>();
}
public DialogCloseListener RequestClose { get; }
public bool CanCloseDialog()
{
return true;
}
public void OnDialogClosed()
{
}
private ObservableCollection<ec_enginedata_propertyhis> _listData;
public ObservableCollection<ec_enginedata_propertyhis> listData
{
get { return _listData; }
set { _listData = value; RaisePropertyChanged(nameof(listData)); }
}
public async void OnDialogOpened(IDialogParameters parameters)
{
var tagNumber = parameters.GetValue<string>(GlobalObject.dialogPar.para1.ToString());
var propertyName = parameters.GetValue<string>(GlobalObject.dialogPar.para2.ToString());
title = $"【{propertyName}】的属性修改历史记录";
var list = await _objectTypeService.GetHistoryData(tagNumber, propertyName);
if (list != null)
{
listData=new ObservableCollection<ec_enginedata_propertyhis>(list);
}
}
public override void ExecuteOKCommandAsync(object para)
{
}
public override void ExecuteCloseCommand(object parameter)
{
if (parameter as string == "ClickNo")
{
RequestClose.Invoke(ButtonResult.No);
}
else
{
RequestClose.Invoke(ButtonResult.Cancel);
}
this.Dispose();
}
}
}