using MECF.Framework.Common.CommonData.Reservoir; using MECF.Framework.Common.Equipment; using MECF.Framework.Common.OperationCenter; using MECF.Framework.Common.Persistent.Reservoirs; using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.Text; using System.Text.RegularExpressions; 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; namespace CyberX8_Themes.UserControls { /// /// CountersControl.xaml 的交互逻辑 /// public partial class CountersControl : UserControl { public CountersControl() { InitializeComponent(); } public static readonly DependencyProperty ModuleNameProperty = DependencyProperty.Register( "ModuleName", typeof(string), typeof(CountersControl), new FrameworkPropertyMetadata("", FrameworkPropertyMetadataOptions.AffectsRender)); /// /// 模块名称 /// public string ModuleName { get { return (string)this.GetValue(ModuleNameProperty); } set { this.SetValue(ModuleNameProperty, value); } } public static readonly DependencyProperty ReplenNumProperty = DependencyProperty.Register( "ReplenNum", typeof(int), typeof(CountersControl), new FrameworkPropertyMetadata(0, FrameworkPropertyMetadataOptions.AffectsRender)); /// /// Replen数量 /// public int ReplenNum { get { return (int)this.GetValue(ReplenNumProperty); } set { this.SetValue(ReplenNumProperty, value); } } public static readonly DependencyProperty ReplenDatasProperty = DependencyProperty.Register( "ReplenDatas", typeof(ObservableCollection), typeof(CountersControl), new FrameworkPropertyMetadata(null, FrameworkPropertyMetadataOptions.AffectsRender)); /// /// ReplenDatas /// public ObservableCollection ReplenDatas { get { return (ObservableCollection)this.GetValue(ReplenDatasProperty); } set { this.SetValue(ReplenDatasProperty, value); } } public static readonly DependencyProperty ReplensPersistentCollectionProperty = DependencyProperty.Register( "ReplensPersistentCollection", typeof(ObservableCollection), typeof(CountersControl), new FrameworkPropertyMetadata(null, FrameworkPropertyMetadataOptions.AffectsRender)); /// /// Replen Persistent数据集合 /// public ObservableCollection ReplensPersistentCollection { get { return (ObservableCollection)this.GetValue(ReplensPersistentCollectionProperty); } set { this.SetValue(ReplensPersistentCollectionProperty, value); } } public static readonly DependencyProperty IsManualorAutoProperty = DependencyProperty.Register( "IsManualorAuto", typeof(bool), typeof(CountersControl), new FrameworkPropertyMetadata(true, FrameworkPropertyMetadataOptions.AffectsRender)); /// /// IsManualorAuto /// public bool IsManualorAuto { get { return (bool)this.GetValue(IsManualorAutoProperty); } set { this.SetValue(IsManualorAutoProperty, value); } } /// /// Replen1 开始补液 /// /// /// private void Replen1Start_Click(object sender, RoutedEventArgs e) { if(replen1Volume.Text != "") { InvokeClient.Instance.Service.DoOperation($"{ModuleName}.ManualDosing", "Replen1", double.Parse(replen1Volume.Text)); } } /// /// Replen1 停止补液 /// /// /// private void Replen1Stop_Click(object sender, RoutedEventArgs e) { InvokeClient.Instance.Service.DoOperation($"{ModuleName}.StopManualDosing", "Replen1"); } /// /// Replen2 开始补液 /// /// /// private void Replen2Start_Click(object sender, RoutedEventArgs e) { if (replen2Volume.Text != "") { InvokeClient.Instance.Service.DoOperation($"{ModuleName}.ManualDosing", "Replen2", double.Parse(replen2Volume.Text)); } } /// /// Replen2 停止补液 /// /// /// private void Replen2Stop_Click(object sender, RoutedEventArgs e) { InvokeClient.Instance.Service.DoOperation($"{ModuleName}.StopManualDosing", "Replen2"); } /// /// Replen3 开始补液 /// /// /// private void Replen3Start_Click(object sender, RoutedEventArgs e) { if (replen3Volume.Text != "") { InvokeClient.Instance.Service.DoOperation($"{ModuleName}.ManualDosing", "Replen3", double.Parse(replen1Volume.Text)); } } /// /// Replen3 停止补液 /// /// /// private void Replen3Stop_Click(object sender, RoutedEventArgs e) { InvokeClient.Instance.Service.DoOperation($"{ModuleName}.StopManualDosing", "Replen3"); } /// /// Replen4 开始补液 /// /// /// private void Replen4Start_Click(object sender, RoutedEventArgs e) { if (replen4Volume.Text != "") { InvokeClient.Instance.Service.DoOperation($"{ModuleName}.ManualDosing", "Replen4", double.Parse(replen1Volume.Text)); } } /// /// Replen4 停止补液 /// /// /// private void Replen4Stop_Click(object sender, RoutedEventArgs e) { InvokeClient.Instance.Service.DoOperation($"{ModuleName}.StopManualDosing", "Replen4"); } /// /// 输入符号限制(数字和.) /// /// /// private void OnPreviewTextInput(object sender, TextCompositionEventArgs e) { e.Handled = !IsTextAllowed(e.Text, ((TextBox)sender).Text); } private bool IsTextAllowed(string key, string text) { Regex regex = new Regex(@"^[0-9\.]+$"); return regex.IsMatch(key); } } }