Sic03-8inch/SicUI/TrayCoatingThicknessViewMod...

137 lines
4.1 KiB
C#

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> CoatingData { get; set; } = new List<CoatingData>();
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<List<CoatingData>>(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);
}
}
/// <summary>
/// 检测厚度是否大于最大值
/// </summary>
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;
}
}
/// <summary>
/// 输入数值检测
/// </summary>
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;
}
}
}