2023-11-21 15:56:50 +08:00
|
|
|
|
using Caliburn.Micro;
|
|
|
|
|
using DocumentFormat.OpenXml.Drawing.Diagrams;
|
|
|
|
|
using MECF.Framework.UI.Client.RecipeEditorLib.RecipeModel;
|
|
|
|
|
using OpenSEMI.ClientBase;
|
2023-11-15 09:59:10 +08:00
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Text;
|
|
|
|
|
using System.Threading.Tasks;
|
2023-11-21 15:56:50 +08:00
|
|
|
|
using Xceed.Wpf.Toolkit;
|
2023-11-15 09:59:10 +08:00
|
|
|
|
|
|
|
|
|
namespace MECF.Framework.UI.Client.CenterViews.Editors.Recipe
|
|
|
|
|
{
|
2023-11-21 15:56:50 +08:00
|
|
|
|
public class RecipeHistoryViewModel : DialogViewModel<string>
|
2023-11-15 09:59:10 +08:00
|
|
|
|
{
|
|
|
|
|
private RecipeHistory recipeMemory;
|
|
|
|
|
|
2023-11-21 15:56:50 +08:00
|
|
|
|
public bool isCompare;
|
|
|
|
|
|
2023-11-15 09:59:10 +08:00
|
|
|
|
public List<RecipeHistory> RecipeMemorieList { get; set; }
|
|
|
|
|
|
2023-11-21 15:56:50 +08:00
|
|
|
|
public List<RecipeHistory> SelectRecipeMemorieList { get; set; }
|
|
|
|
|
|
|
|
|
|
public RecipeHistory SelectRecipeHistory { get; set; }
|
2023-11-15 09:59:10 +08:00
|
|
|
|
|
|
|
|
|
public RecipeHistoryViewModel(string recipeName)
|
|
|
|
|
{
|
|
|
|
|
recipeMemory = new RecipeHistory();
|
|
|
|
|
RecipeMemorieList = recipeMemory.QueryDB(recipeName);
|
2023-11-21 15:56:50 +08:00
|
|
|
|
SelectRecipeMemorieList = new List<RecipeHistory>() ;
|
2023-11-15 09:59:10 +08:00
|
|
|
|
}
|
2023-11-20 10:02:29 +08:00
|
|
|
|
|
2023-11-21 15:56:50 +08:00
|
|
|
|
public RecipeHistory GetXML(RecipeHistory recipeHistory)
|
2023-11-20 10:02:29 +08:00
|
|
|
|
{
|
2023-11-21 15:56:50 +08:00
|
|
|
|
return recipeHistory.QueryDB(recipeHistory.RecipeName, recipeHistory.CreateTime) ?? null;
|
2023-11-20 10:02:29 +08:00
|
|
|
|
}
|
|
|
|
|
|
2023-11-21 15:56:50 +08:00
|
|
|
|
public void SelChanged(bool selItems)
|
|
|
|
|
{
|
|
|
|
|
if (selItems)
|
|
|
|
|
{
|
|
|
|
|
SelectRecipeMemorieList.Add(SelectRecipeHistory);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if (SelectRecipeMemorieList.Contains(SelectRecipeHistory))
|
|
|
|
|
SelectRecipeMemorieList.Remove(SelectRecipeHistory);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
2023-11-20 10:02:29 +08:00
|
|
|
|
|
2023-11-21 15:56:50 +08:00
|
|
|
|
public void OK()
|
|
|
|
|
{
|
|
|
|
|
if (SelectRecipeMemorieList.Count > 2)
|
|
|
|
|
{
|
|
|
|
|
MessageBox.Show("Only 2 comparisons are supported");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
if (SelectRecipeMemorieList.Count>0)
|
|
|
|
|
{
|
|
|
|
|
for (int i = 0; i < SelectRecipeMemorieList.Count; i++)
|
|
|
|
|
{
|
|
|
|
|
SelectRecipeMemorieList[i] = GetXML(SelectRecipeMemorieList[i]);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
IsCancel = false;
|
|
|
|
|
TryClose(true);
|
2023-11-20 10:02:29 +08:00
|
|
|
|
}
|
|
|
|
|
|
2023-11-21 15:56:50 +08:00
|
|
|
|
public void Cancel()
|
|
|
|
|
{
|
|
|
|
|
//SelectRecipeMemorieList.Clear();
|
|
|
|
|
IsCancel = true;
|
|
|
|
|
TryClose(false);
|
|
|
|
|
}
|
2023-11-15 09:59:10 +08:00
|
|
|
|
}
|
|
|
|
|
}
|