using MECF.Framework.Common.DataCenter;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Windows;
using System.Windows.Controls;
using Venus_MainPages.Unity;
namespace Venus_MainPages.Views
{
///
/// WaferAssociationUnit.xaml 的交互逻辑
///
public partial class NewWaferAssociationUnit : UserControl
{
public NewWaferAssociationUnit()
{
InitializeComponent();
}
public WaferAssociationInfo WAInfo
{
get { return (WaferAssociationInfo)GetValue(WAInfoProperty); }
set { SetValue(WAInfoProperty, value); }
}
public static readonly DependencyProperty WAInfoProperty = DependencyProperty.Register("WAInfo", typeof(WaferAssociationInfo), typeof(NewWaferAssociationUnit));
public string SequenceName
{
get { return (string)GetValue(SequenceNameProperty); }
set { SetValue(SequenceNameProperty, value); }
}
public static readonly DependencyProperty SequenceNameProperty = DependencyProperty.Register("SequenceName", typeof(string), typeof(NewWaferAssociationUnit));
public int SelectedIndex
{
get { return (int)GetValue(SelectedIndexProperty); }
set { SetValue(SelectedIndexProperty, value); }
}
public static readonly DependencyProperty SelectedIndexProperty = DependencyProperty.Register("SelectedIndex", typeof(int), typeof(NewWaferAssociationUnit),new PropertyMetadata(1));
public bool ButtonIsEnable
{
get { return (bool)GetValue(ButtonIsEnableProperty); }
set { SetValue(ButtonIsEnableProperty, value); }
}
public static readonly DependencyProperty ButtonIsEnableProperty = DependencyProperty.Register("ButtonIsEnable", typeof(bool), typeof(NewWaferAssociationUnit), new PropertyMetadata(true));
private void cb_DropDownOpened(object sender, EventArgs e)
{
cb.ItemsSource = GetFilesNames(System.IO.Path.Combine(QueryDataClient.Instance.Service.GetData("GetRTPath").ToString(), "Recipes", "Sequence")).ToList();
}
private void cb_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
WAInfo.SequenceName = cb.SelectedValue.ToString();
}
private void preComboBox_DropDownOpened(object sender, EventArgs e)
{
List cleanRecipes=new List();
string installModules = (string)QueryDataClient.Instance.Service.GetConfig("System.InstalledModules");
if (installModules.Contains("PMA"))
{
cleanRecipes.AddRange(CommonFunction.GetFilesNames(System.IO.Path.Combine(QueryDataClient.Instance.Service.GetData("GetRTPath").ToString(), "Recipes", "PMA","Clean")).ToList());
}
if (installModules.Contains("PMB"))
{
cleanRecipes.AddRange(CommonFunction.GetFilesNames(System.IO.Path.Combine(QueryDataClient.Instance.Service.GetData("GetRTPath").ToString(), "Recipes", "PMB", "Clean")).ToList());
}
if (installModules.Contains("PMC"))
{
cleanRecipes.AddRange(CommonFunction.GetFilesNames(System.IO.Path.Combine(QueryDataClient.Instance.Service.GetData("GetRTPath").ToString(), "Recipes", "PMC", "Clean")).ToList());
}
if (installModules.Contains("PMD"))
{
cleanRecipes.AddRange(CommonFunction.GetFilesNames(System.IO.Path.Combine(QueryDataClient.Instance.Service.GetData("GetRTPath").ToString(), "Recipes", "PMD", "Clean")).ToList());
}
cleanRecipes.Add("");
preComboBox.ItemsSource = cleanRecipes.Distinct();
}
private void preComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
WAInfo.PreCleanRecipeName= preComboBox.SelectedValue.ToString();
}
private void postComboBox_DropDownOpened(object sender, EventArgs e)
{
List cleanRecipes = new List();
string installModules = (string)QueryDataClient.Instance.Service.GetConfig("System.InstalledModules");
if (installModules.Contains("PMA"))
{
cleanRecipes.AddRange(CommonFunction.GetFilesNames(System.IO.Path.Combine(QueryDataClient.Instance.Service.GetData("GetRTPath").ToString(), "Recipes", "PMA", "Clean")).ToList());
}
if (installModules.Contains("PMB"))
{
cleanRecipes.AddRange(CommonFunction.GetFilesNames(System.IO.Path.Combine(QueryDataClient.Instance.Service.GetData("GetRTPath").ToString(), "Recipes", "PMB", "Clean")).ToList());
}
if (installModules.Contains("PMC"))
{
cleanRecipes.AddRange(CommonFunction.GetFilesNames(System.IO.Path.Combine(QueryDataClient.Instance.Service.GetData("GetRTPath").ToString(), "Recipes", "PMC", "Clean")).ToList());
}
if (installModules.Contains("PMD"))
{
cleanRecipes.AddRange(CommonFunction.GetFilesNames(System.IO.Path.Combine(QueryDataClient.Instance.Service.GetData("GetRTPath").ToString(), "Recipes", "PMD", "Clean")).ToList());
}
cleanRecipes.Add("");
postComboBox.ItemsSource = cleanRecipes.Distinct();
}
private void postComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
WAInfo.PostCleanRecipeName = postComboBox.SelectedValue.ToString();
}
private IEnumerable GetFilesNames(string path)
{
if (Directory.Exists(path))
{
return Directory.GetFiles(path, "*.seq")
.Select(System.IO.Path.GetFileNameWithoutExtension);
}
else
{
return new List();
}
}
private void SelectAllButton_Click(object sender, RoutedEventArgs e)
{
SelectedIndex = 0;
}
private void UnSelectAllButton_Click(object sender, RoutedEventArgs e)
{
SelectedIndex = 1;
}
}
}