using DataEntity.Event;
using DataEntity.Rack;
using DataRWDAL;
using HxEnum;
using System;
using System.Linq;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
using XCommon.Event;
using XCommon.Log;
using XHandler.View.Rack;
using XImagingXhandler.XDAL;
using static DataEntity.Event.EventExArgs;
using static XCommon.Event.EventBind;
namespace XHandler.View.MethodProperty
{
///
/// 暂存架 某一层
///
public partial class RackLayerItem : UserControl
{
#region 变量
///
/// 当前层信息
///
private RacksetLayerModel m_racksetLayerModel = null;
///
/// 重新加载暂存架板位信息事件
///
public event EventHandler ReLoadRackEvent;
#endregion
#region 构造函数
///
/// 构造函数
///
///
public RackLayerItem(RacksetLayerModel racksetLayerModel)
{
InitializeComponent();
m_racksetLayerModel = racksetLayerModel;
}
#endregion
#region 界面初期表示事件
private void UserControl_Loaded(object sender, RoutedEventArgs e)
{
try
{
// 有无耗材背景颜色
tBoxStackName.Background = m_racksetLayerModel.is_has_labware == EnumManagement.GetEnumValue(IsHasLabwareEnum.Yes) ? Brushes.PaleGreen : Brushes.Silver;
// 有耗材
if (m_racksetLayerModel.is_has_labware == EnumManagement.GetEnumValue(IsHasLabwareEnum.Yes))
{
tBoxStackName.Background = Brushes.PaleGreen;
// 根据耗材类型, 获取耗材信息
Labware labware = LabwareDB.GetLabware(m_racksetLayerModel.labware_id);
if (labware != null)
{
tBoxStackName.ToolTip = tBoxStackName.Text = string.Format("{0}({1})", m_racksetLayerModel.rack_name, labware.labware_name);
}
}
else
{
tBoxStackName.Background = Brushes.Silver;
tBoxStackName.Text = m_racksetLayerModel.rack_name;
}
}
catch (Exception ex)
{
LoggerHelper.ErrorLog("ERROR:", ex);
}
}
#endregion
///
/// 暂存架 某一层点击事件
///
///
///
private void tBoxStackName_MouseDown(object sender, System.Windows.Input.MouseButtonEventArgs e)
{
try
{
RackLayerEdit rackLayerEdit = new RackLayerEdit(m_racksetLayerModel);
rackLayerEdit.ShowDialog();
ReLoadRackEvent?.Invoke(null, EventArgs.Empty);
}
catch (Exception ex)
{
LoggerHelper.ErrorLog("ERROR:", ex);
}
}
}
}