using System;
using System.Collections.Generic;
using System.Globalization;
using System.Windows.Controls;
using System.Windows.Data;
using Aitex.Sorter.Common;
using MECF.Framework.Common.CommonData;
namespace EfemDualUI.Views.History.WaferHistory
{
///
/// WaferHistoryDB.xaml 的交互逻辑
///
public partial class WaferHistoryDBView : UserControl
{
public WaferHistoryDBView()
{
InitializeComponent();
}
}
public class HistoryLayoutSelectorConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (value != null)
{
var type = ((WaferHistoryItem)value).Type;
switch (type)
{
case WaferHistoryItemType.None:
return LotsLayout;
case WaferHistoryItemType.Lot:
return WaferLayout;
case WaferHistoryItemType.Wafer:
return MovementLayout;
case WaferHistoryItemType.Recipe:
return RecipeLayout;
default:
break;
}
}
return null;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
return null;
}
public object WaferLayout { get; set; }
public object MovementLayout { get; set; }
public object RecipeLayout { get; set; }
public object LotsLayout { get; set; }
}
public class HideMinTimeConverters : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (value is DateTime)
return (DateTime)value == DateTime.MinValue ? "" : ((DateTime)value).ToString("yyyy-MM-dd HH:mm:ss");
if (DateTime.TryParse((string)value, out DateTime dateTime))
return dateTime == DateTime.MinValue ? "" : dateTime.ToString("yyyy-MM-dd HH:mm:ss");
return "";
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return null;
}
}
public class MinTime2BoolConverters : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (value is DateTime)
return (DateTime)value != DateTime.MinValue;
if (DateTime.TryParse((string)value, out DateTime dateTime))
return dateTime != DateTime.MinValue;
return false;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return null;
}
}
public class RecipeStepNull2Empty : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (value != null && (value is List) && ((List)value).Count > 0)
{
return value;
}
return new List() { new RecipeStep() { Name = "", StartTime = DateTime.MinValue, EndTime = DateTime.MinValue, ActualTime = "", SettingTime = "" } };
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return null;
}
}
}