| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 | using Aitex.Core.Util;using Caliburn.Micro;using MECF.Framework.Common.DataCenter;using MECF.Framework.Common.OperationCenter;using MECF.Framework.UI.Client.CenterViews.Editors.Recipe;using MECF.Framework.UI.Client.CenterViews.Editors.Sequence;using OpenSEMI.ClientBase;using System;using System.Collections.Generic;using System.Collections.ObjectModel;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows;using FurnaceUI.Models;namespace FurnaceUI.Views.Editors{    public class RecipeCommandCallRecipeViewModel : FurnaceUIViewModelBase    {        public string SelectButtonContent { get; set; } = "Process Recipe Select";        private string selectedProcessRecipe;        public string SelectedProcessRecipe        {            set            {                selectedProcessRecipe = value;                NotifyOfPropertyChange("SelectedProcessRecipe");            }            get            {                return selectedProcessRecipe;            }        }        public string SelectedSupportedProcessType { get; set; } = "SupportedProcessType";        public string SelectedProcessType { get; set; } = "Process";        public void ClosedCmd(string cmdPar)        {            (GetView() as Window).Close();        }        public void SelectProcessRecipe()        {            RecipeSelectDialogViewModel dialog = new RecipeSelectDialogViewModel();            dialog.DisplayName = "Select Recipe";            var recipeProvider = new RecipeProvider();            var processType = QueryDataClient.Instance.Service.GetConfig($"System.Recipe.{SelectedSupportedProcessType}");            if (processType == null)            {                processType = SelectedProcessType;            }            var ProcessTypeFileList = new ObservableCollection<ProcessTypeFileItem>();            string[] recipeProcessType = ((string)processType).Split(',');            for (int i = 0; i < recipeProcessType.Length; i++)            {                var type = new ProcessTypeFileItem();                type.ProcessType = recipeProcessType[i];                var prefix = $"Furnace\\{recipeProcessType[i]}";                var recipes = recipeProvider.GetXmlRecipeList(prefix);                type.FileListByProcessType = RecipeSequenceTreeBuilder.BuildFileNode(prefix, "", false, recipes)[0].Files;                ProcessTypeFileList.Add(type);            }            dialog.ProcessTypeFileList = ProcessTypeFileList;            WindowManager wm = new WindowManager();            bool? bret = wm.ShowDialog(dialog);            if ((bool)bret)            {                //var array = dialog.DialogResult.Split(new char[] { '\\' });                //SelectedProcessRecipe = array[array.Length - 1];                SelectedProcessRecipe = dialog.DialogResult;            }        }    }}
 |