101 lines
3.5 KiB
C#
101 lines
3.5 KiB
C#
|
using MECF.Framework.UI.Client.ClientBase;
|
|||
|
using MECF.Framework.UI.Core.TrayCoating;
|
|||
|
using OpenSEMI.ClientBase;
|
|||
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.Linq;
|
|||
|
using System.Text;
|
|||
|
using System.Threading.Tasks;
|
|||
|
using System.Windows;
|
|||
|
|
|||
|
namespace MECF.Framework.UI.Client.TrayThickness
|
|||
|
{
|
|||
|
public class TrayDataViewManager
|
|||
|
{
|
|||
|
TrayCoatingThickness TrayData;
|
|||
|
TrayDataViewSqlHelp trayDataHelp = new TrayDataViewSqlHelp();
|
|||
|
private string TrayID;
|
|||
|
public TrayDataViewManager(TrayCoatingThickness trayData, string trayID)
|
|||
|
{
|
|||
|
TrayData = trayData;
|
|||
|
TrayID = trayID;
|
|||
|
}
|
|||
|
public void UpTrayCoatingThickness()
|
|||
|
{
|
|||
|
TrayCoatingThickness _trayCoatingThickness = trayDataHelp.GetTrayCoatingThickness(TrayID);
|
|||
|
TrayData.Tray.Update(_trayCoatingThickness.Tray);
|
|||
|
TrayData.TrayInner.Update(_trayCoatingThickness.TrayInner);
|
|||
|
TrayData.RingInner.Update(_trayCoatingThickness.RingInner);
|
|||
|
TrayData.RingOuter.Update(_trayCoatingThickness.RingOuter);
|
|||
|
|
|||
|
}
|
|||
|
/// <summary>
|
|||
|
/// 界面数据设置到数据库
|
|||
|
/// </summary>
|
|||
|
public bool SET()
|
|||
|
{
|
|||
|
List<CoatingData> coatingDataList = new List<CoatingData>()
|
|||
|
{
|
|||
|
TrayData.Tray,
|
|||
|
TrayData.TrayInner,
|
|||
|
TrayData.RingInner,
|
|||
|
TrayData.RingOuter
|
|||
|
};
|
|||
|
//每个环Number数据是否存在相同,Linq语句检查
|
|||
|
if (coatingDataList.GroupBy(i => i.Number).Where(g => g.Count() > 1).Count() > 0)
|
|||
|
{
|
|||
|
DialogBox.ShowInfo($"Duplicated serial numbers detected, please check");
|
|||
|
return false;
|
|||
|
}
|
|||
|
|
|||
|
//检查单个环对象是否存在空数据
|
|||
|
foreach (var item in coatingDataList)
|
|||
|
{
|
|||
|
|
|||
|
if (item.GetType().GetProperties()
|
|||
|
.Where(pi => pi.PropertyType == typeof(string))
|
|||
|
.Select(pi => (string)pi.GetValue(item))
|
|||
|
.Any(value => string.IsNullOrEmpty(value)))
|
|||
|
{
|
|||
|
DialogBox.ShowInfo($"Please check empty value");
|
|||
|
return false;
|
|||
|
}
|
|||
|
}
|
|||
|
trayDataHelp.UpTrayNumberData(TrayData, TrayID, coatingDataList);
|
|||
|
return true;
|
|||
|
}
|
|||
|
/// <summary>
|
|||
|
/// 用户输入数据时,去数据库查询更新到界面
|
|||
|
/// </summary>
|
|||
|
/// <param name="obj"></param>
|
|||
|
public void UpCoatingData(string obj)
|
|||
|
{
|
|||
|
|
|||
|
switch (obj)
|
|||
|
{
|
|||
|
case "Tray":
|
|||
|
ForUpCoatingData(TrayData.Tray.Number, TrayData.Tray);
|
|||
|
break;
|
|||
|
case "TrayInner":
|
|||
|
ForUpCoatingData(TrayData.TrayInner.Number, TrayData.TrayInner);
|
|||
|
break;
|
|||
|
case "RingInner":
|
|||
|
ForUpCoatingData(TrayData.RingInner.Number, TrayData.RingInner);
|
|||
|
break;
|
|||
|
case "RingOuter":
|
|||
|
ForUpCoatingData(TrayData.RingOuter.Number, TrayData.RingOuter);
|
|||
|
break;
|
|||
|
default:
|
|||
|
break;
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
private void ForUpCoatingData(string number, CoatingData _coatingData)
|
|||
|
{
|
|||
|
CoatingData coatingData = trayDataHelp.GetCoatingData(number, out bool isGetData);
|
|||
|
if (isGetData)
|
|||
|
_coatingData.Update(coatingData);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|