using DataEntity.Share;
using DataEntity.Sockets.Base;
using DriverLib.Engine;
using Newtonsoft.Json;
using System;
using System.Windows;
using XCommon.Log;
using XCore;
using XImagingXhandler.XDAL;
using static HxEnum.OperationTypeEnum;
namespace XHandler.View.Dialog
{
///
/// OperateDeviceDialog.xaml 的交互逻辑
///
public partial class OperateDeviceDialog : Window
{
#region 变量
///
/// 节点操作类型(1跳过、2重试、3终止)
///
public NodeOperationTypeEnum OperMark = NodeOperationTypeEnum.Continue;
///
/// 错误信息(客户端用)
///
private ErrorClientData m_errorData = null;
#endregion
#region 构造函数
///
/// 构造函数
///
public OperateDeviceDialog(ErrorClientData errorData)
{
InitializeComponent();
m_errorData = errorData;
this.Owner = (Window)Shared.Main;
}
#endregion
#region 初期表示
///
/// 初期表示
///
///
///
private void Window_Load(object sender, RoutedEventArgs e)
{
try
{
#region 数据表示
// 设备名称
tBlockDeviceName.Text = m_errorData.ParameterModel.DeviceName;
// 设备方法
tBlockDeviceMethod.Text = m_errorData.ParameterModel.SendData.method;
// 指令参数
tBoxRemark.Text = JsonConvert.SerializeObject(m_errorData.ParameterModel.SendData);
// 错误内容
tBoxError.Text = m_errorData.Error.error_text;
#endregion
// 状态6 报错/急停 红闪/蜂鸣5S
CommonBll.StatusLamp(6, false);
}
catch (Exception ex)
{
LoggerHelper.ErrorLog("ERROR:", ex);
}
}
#endregion
#region 取消
///
/// 取消
///
///
///
private void btnCancel_Click(object sender, RoutedEventArgs e)
{
try
{
OperMark = NodeOperationTypeEnum.Cancel;
Close();
}
catch (Exception ex)
{
LoggerHelper.ErrorLog("ERROR:", ex);
}
}
#endregion
#region 重试
///
/// 重试
///
///
///
private void btnRetry_Click(object sender, RoutedEventArgs e)
{
try
{
// 获取最新参数信息
m_errorData.ParameterModel.SendData = JsonConvert.DeserializeObject(tBoxRemark.Text);
OperMark = NodeOperationTypeEnum.Retry;
// 状态4 运行 绿色
CommonBll.StatusLamp(4, false);
Close();
}
catch (Exception ex)
{
LoggerHelper.ErrorLog("ERROR:", ex);
}
}
#endregion
#region 跳过
///
/// 跳过
///
///
///
private void btnJump_Click(object sender, RoutedEventArgs e)
{
try
{
OperMark = NodeOperationTypeEnum.Continue;
// 状态4 运行 绿色
CommonBll.StatusLamp(4, false);
Close();
}
catch (Exception ex)
{
LoggerHelper.ErrorLog("ERROR:", ex);
}
}
#endregion
}
}