using System;
|
using System.Collections.Generic;
|
using System.Collections.ObjectModel;
|
using System.ComponentModel;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
using System.Windows;
|
using System.Windows.Controls;
|
using System.Windows.Data;
|
using System.Windows.Documents;
|
using System.Windows.Input;
|
using System.Windows.Media;
|
using System.Windows.Media.Imaging;
|
using System.Windows.Navigation;
|
using System.Windows.Shapes;
|
using XHandler.Class;
|
using XHandler.Class.DataEx;
|
using XHandler.View.MethodProperty;
|
using XImagingXhandler.XDAL;
|
|
namespace XHandler.View.Consumables
|
{
|
/// <summary>
|
/// NewConsumable.xaml 的交互逻辑
|
/// </summary>
|
public partial class NewConsumable : UserControl
|
{
|
#region custom event
|
public event EventHandler closeEvent;
|
|
/// <summary>
|
/// 确定
|
/// </summary>
|
public static readonly RoutedEvent OKRoutedEvent =
|
EventManager.RegisterRoutedEvent("OKEvent", RoutingStrategy.Bubble, typeof(CustomEvent.CustomRoutedEventHandler<Labware>), typeof(NewConsumable));
|
|
[Description("OKEvent")]
|
public event CustomEvent.CustomRoutedEventHandler<Labware> OKEvent
|
{
|
add
|
{
|
this.AddHandler(OKRoutedEvent, value);
|
}
|
remove
|
{
|
this.RemoveHandler(OKRoutedEvent, value);
|
}
|
}
|
|
private void RaiseOKEvent(Labware l)
|
{
|
CustomRoutedEventArgs<Labware> arg = new CustomRoutedEventArgs<Labware>(OKRoutedEvent, l);
|
this.RaiseEvent(arg);
|
}
|
#endregion
|
|
ObservableCollection<Labware> labwareList;
|
|
public NewConsumable()
|
{
|
InitializeComponent();
|
ObservableCollection<LabwareType> labwareTypeList = DataModule.getInstance().GetLabwareTypes();
|
cbConsumableType.ItemsSource = labwareTypeList;
|
labwareList = DataModule.getInstance().GetLabwares();
|
}
|
|
private void UserControl_Loaded(object sender, RoutedEventArgs e)
|
{
|
cbConsumableType.SelectedIndex = 0;
|
}
|
|
private void Button_Click(object sender, RoutedEventArgs e)
|
{
|
if (EventResponseController.Instance.CanExecute() == false)
|
return;
|
|
closeEvent?.Invoke(this, EventArgs.Empty);
|
}
|
|
private void btnOK_Click(object sender, RoutedEventArgs e)
|
{
|
if (EventResponseController.Instance.CanExecute() == false)
|
return;
|
|
if (string.IsNullOrEmpty(textboxName.Text.Trim()))
|
{
|
textboxName.Text = "";
|
textboxName.BorderThickness = new Thickness(1, 1, 1, 1);
|
return;
|
}
|
else
|
{
|
textboxName.BorderThickness = new Thickness(0);
|
}
|
|
if (cbConsumableType.SelectedValue.ToString() == "-1")
|
{
|
cbConsumableType.BorderThickness = new Thickness(1, 1, 1, 1);
|
return;
|
}
|
else
|
{
|
cbConsumableType.BorderThickness = new Thickness(0);
|
}
|
|
//查找重名
|
int count = labwareList.Where(s => s.labware_name == textboxName.Text.Trim()).Count();
|
if (count > 0)
|
{
|
|
textboxName.Watermark = "\"" + textboxName.Text + "\"" + Properties.Resources.strConsumableNameExist;
|
textboxName.Text = "";
|
textboxName.BorderThickness = new Thickness(1, 1, 1, 1);
|
return;
|
}
|
|
LabwareType labwareType = cbConsumableType.SelectedItem as LabwareType;
|
Labware labware = new Labware();
|
labware.labware_name = textboxName.Text.Trim();
|
labware.labware_type_id = labwareType.labwaretype_id;
|
labware.labware_type = labwareType.labwaretype_name;
|
if (labwareType.labwaretype_id == "5")
|
{
|
labware.labware_color_top = "255,255,255";
|
labware.labware_color_line = "128,128,128";
|
}
|
RaiseOKEvent(labware);
|
}
|
|
private void textboxName_LostFocus(object sender, RoutedEventArgs e)
|
{
|
if (string.IsNullOrEmpty(textboxName.Text.Trim()))
|
{
|
textboxName.Text = "";
|
textboxName.BorderThickness = new Thickness(1, 1, 1, 1);
|
}
|
else
|
{
|
textboxName.Watermark = Properties.Resources.strPleaseInput;
|
textboxName.BorderThickness = new Thickness(0, 0, 0, 0);
|
}
|
}
|
}
|
}
|