232 lines
5.9 KiB
C#
232 lines
5.9 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Collections.ObjectModel;
|
|
using System.Linq;
|
|
using System.Windows.Input;
|
|
using Prism.Services.Dialogs;
|
|
using Prism.Ioc;
|
|
using SWS.Commons;
|
|
using SWS.Model;
|
|
using SWS.Service;
|
|
using SWS.WPF.Views;
|
|
using Telerik.Windows.Controls;
|
|
using Unity;
|
|
using DialogParameters = Prism.Services.Dialogs.DialogParameters;
|
|
|
|
namespace SWS.WPF.ViewModels
|
|
{
|
|
public class DialogAllOutputSignalViewModel : DialogBase, IDialogAware
|
|
{
|
|
#region 属性
|
|
private ObservableCollection<signalGroupInfo> _MysignalGroups = new ObservableCollection<signalGroupInfo>();
|
|
/// <summary>
|
|
/// 表格数据源
|
|
/// </summary>
|
|
public ObservableCollection<signalGroupInfo> MysignalGroups
|
|
{
|
|
get { return _MysignalGroups; }
|
|
set { _MysignalGroups = value; RaisePropertyChanged(nameof(MysignalGroups)); }
|
|
}
|
|
private signalGroupInfo _SelectedSignalGroup;
|
|
/// <summary>
|
|
/// 选中行
|
|
/// </summary>
|
|
public signalGroupInfo SelectedSignalGroup
|
|
{
|
|
get { return _SelectedSignalGroup; }
|
|
set { _SelectedSignalGroup = value; RaisePropertyChanged(nameof(SelectedSignalGroup)); }
|
|
}
|
|
|
|
/// <summary>
|
|
/// 信号接口服务
|
|
/// </summary>
|
|
WireGroupService _wireGroupService;
|
|
|
|
public DialogSignalNotice SignalNoticeView { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
public DialogAllOutputSignalViewModel()
|
|
{
|
|
title = "输出点落实情况";
|
|
_wireGroupService = GlobalObject.container.Resolve<WireGroupService>();
|
|
}
|
|
|
|
|
|
public string Title => "";
|
|
|
|
public event Action<IDialogResult> RequestClose;
|
|
|
|
public bool CanCloseDialog()
|
|
{
|
|
return true;
|
|
}
|
|
|
|
public void OnDialogClosed()
|
|
{
|
|
|
|
}
|
|
|
|
public async void OnDialogOpened(IDialogParameters parameters)
|
|
{
|
|
var GroupInfos = await _wireGroupService.GetGroupInfo();
|
|
foreach (var Group in GroupInfos)
|
|
{
|
|
signalGroupInfo signalGroup = new signalGroupInfo(Group);
|
|
MysignalGroups.Add(signalGroup);
|
|
}
|
|
|
|
}
|
|
public override void ExecuteOKCommandAsync(object para)
|
|
{
|
|
DialogResult result = new DialogResult(ButtonResult.Yes);
|
|
RequestClose.Invoke(result);
|
|
}
|
|
public override void ExecuteCloseCommand(object parameter)
|
|
{
|
|
if (parameter as string == "ClickNo")
|
|
{
|
|
DialogResult result = new DialogResult(ButtonResult.No);
|
|
RequestClose.Invoke(result);
|
|
}
|
|
else
|
|
{
|
|
DialogResult result = new DialogResult(ButtonResult.Cancel);
|
|
RequestClose.Invoke(result);
|
|
}
|
|
this.Dispose();
|
|
}
|
|
|
|
#region 状态按钮
|
|
public ICommand StatusButtonCmd => new DelegateCommand(StatusButton_Click);
|
|
/// <summary>
|
|
/// 显示状态按钮
|
|
/// </summary>
|
|
/// <param name="parameter"></param>
|
|
public virtual async void StatusButton_Click(object parameter)
|
|
{
|
|
|
|
}
|
|
#endregion
|
|
|
|
#region 右侧按钮
|
|
|
|
public ICommand ButtonCmd => new DelegateCommand(Button_Click);
|
|
/// <summary>
|
|
/// 页面右侧按钮
|
|
/// </summary>
|
|
/// <param name="parameter"></param>
|
|
public virtual async void Button_Click(object parameter)
|
|
{
|
|
#region 确定
|
|
if (parameter.Equals("确定"))
|
|
{
|
|
|
|
DialogResult result = new DialogResult(ButtonResult.Cancel);
|
|
RequestClose.Invoke(result);
|
|
this.Dispose();
|
|
|
|
}
|
|
#endregion
|
|
|
|
#region 取消
|
|
if (parameter.Equals("取消"))
|
|
{
|
|
DialogResult result = new DialogResult(ButtonResult.Cancel);
|
|
RequestClose.Invoke(result);
|
|
this.Dispose();
|
|
}
|
|
#endregion
|
|
|
|
}
|
|
#endregion
|
|
}
|
|
public class signalGroupInfo : ViewModelBase
|
|
{
|
|
private string _Name;
|
|
|
|
public string Name
|
|
{
|
|
get { return _Name; }
|
|
set
|
|
{
|
|
_Name = value;
|
|
RaisePropertyChanged(nameof(Name));
|
|
}
|
|
}
|
|
|
|
private string _NameEN;
|
|
|
|
public string NameEN
|
|
{
|
|
get { return _NameEN; }
|
|
set { _NameEN = value;
|
|
RaisePropertyChanged(nameof(NameEN));
|
|
}
|
|
}
|
|
|
|
private string _Code;
|
|
|
|
public string Code
|
|
{
|
|
get { return _Code; }
|
|
set { _Code = value;
|
|
RaisePropertyChanged(nameof(Code));
|
|
}
|
|
}
|
|
|
|
|
|
private string _Id;
|
|
|
|
public string Id
|
|
{
|
|
get { return _Id; }
|
|
set { _Id = value;
|
|
RaisePropertyChanged(nameof(Id));
|
|
}
|
|
}
|
|
|
|
private signalGroupStatusEnum _status;
|
|
|
|
public signalGroupStatusEnum status
|
|
{
|
|
get { return _status; }
|
|
set { _status = value;
|
|
RaisePropertyChanged(nameof(status));
|
|
}
|
|
}
|
|
|
|
|
|
private ObservableCollection<ec_Wire_Group> _Sub;
|
|
|
|
public ObservableCollection<ec_Wire_Group> Sub
|
|
{
|
|
get { return _Sub; }
|
|
set
|
|
{
|
|
_Sub = value;
|
|
RaisePropertyChanged(nameof(Sub));
|
|
}
|
|
}
|
|
|
|
public signalGroupInfo(signalGroup signalGroup )
|
|
{
|
|
this.Name = signalGroup.Name;
|
|
this.NameEN = signalGroup.NameEN;
|
|
this.Code = signalGroup.Code;
|
|
this.Id = signalGroup.Id;
|
|
this.status = signalGroup.status;
|
|
this.Sub = new ObservableCollection<ec_Wire_Group>(signalGroup.Sub);
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
}
|