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);
|
||
}
|
||
}
|
||
}
|