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(); } public DialogCloseListener RequestClose { get; } public bool CanCloseDialog() { return true; } public void OnDialogClosed() { } private ObservableCollection _listData; public ObservableCollection listData { get { return _listData; } set { _listData = value; RaisePropertyChanged(nameof(listData)); } } public async void OnDialogOpened(IDialogParameters parameters) { var tagNumber = parameters.GetValue(GlobalObject.dialogPar.para1.ToString()); var propertyName = parameters.GetValue(GlobalObject.dialogPar.para2.ToString()); title = $"【{propertyName}】的属性修改历史记录"; var list = await _objectTypeService.GetHistoryData(tagNumber, propertyName); if (list != null) { listData=new ObservableCollection(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(); } } }