using Aitex.Core.Util; using MECF.Framework.Common.OperationCenter; using MECF.Framework.UI.Core.TrayCoating; using Newtonsoft.Json; using SicUI.Models; using System; using System.Collections.Generic; using System.Globalization; using System.Windows.Data; using System.Windows.Media; namespace SicUI { public class TrayCoatingThicknessViewModel : SicUIViewModelBase { public TrayCoatingThicknessViewModel() { } public CoatingData CoatingDataSelect { get; set; } = new CoatingData(); public List CoatingData { get; set; } = new List(); public string Tray_ID { get; set; } private string _trayCoatingThicknessData; [Subscription("TrayCoatingData")] public string TrayCoatingThicknessData { get { return _trayCoatingThicknessData; } set { if (_trayCoatingThicknessData != value && value != null) { CoatingData = JsonConvert.DeserializeObject>(value); } _trayCoatingThicknessData = value; } } public void UpCoatingData(string _current) { } public void SET()//整体更新一行数据 { string coatingData_Json = JsonConvert.SerializeObject(CoatingDataSelect); InvokeClient.Instance.Service.DoOperation("CoatingManager.Set", coatingData_Json); } public void Clear(String num)//清除一行数据的当前增长厚度 { InvokeClient.Instance.Service.DoOperation("CoatingManager.Clear", num); } } /// /// 检测厚度是否大于最大值 /// class ColorConverter_ForGrow : IMultiValueConverter { public object Convert(object[] value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { try { if (value[0] == null || value[1] == null) { return new SolidColorBrush(Colors.Black); } double _current; if (!double.TryParse(value[0].ToString(), out _current)) return new SolidColorBrush(Colors.Red); else if (_current < 0 || _current > 9999999) return new SolidColorBrush(Colors.Red); double _max; if (!double.TryParse(value[1].ToString(), out _max)) return new SolidColorBrush(Colors.Black); if (_current > _max) { return new SolidColorBrush(Colors.Red); } else { return new SolidColorBrush(Colors.Black); } } catch (Exception) { return new SolidColorBrush(Colors.Red); } } public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture) { return null; } } /// /// 输入数值检测 /// class ColorConverter_ForCheck : IValueConverter { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { try { if (value == null) { return new SolidColorBrush(Colors.Black); } double _setValue; if (!double.TryParse(value.ToString(), out _setValue)) return new SolidColorBrush(Colors.Red); else if (_setValue < 0 || _setValue > 9999999) return new SolidColorBrush(Colors.Red); else return new SolidColorBrush(Colors.Black); } catch (Exception ex) { return new SolidColorBrush(Colors.Red); } } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { return null; } } }