| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163 | using DocumentFormat.OpenXml.Bibliography;using FurnaceUI.Models;using MECF.Framework.UI.Client.CenterViews.Editors.Recipe;using MECF.Framework.UI.Client.CenterViews.Editors.Sequence;using MECF.Framework.UI.Client.CenterViews.Parameter;using System;using System.Collections.Generic;using System.Collections.ObjectModel;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows;namespace FurnaceUI.Views.Editors{    public class AlarmErrorCallRecipeViewModel : FurnaceUIViewModelBase    {        private ObservableCollection<ParameterTable> _steps = new ObservableCollection<ParameterTable>();        public ObservableCollection<ParameterTable> Steps        {            get { return _steps; }            set { _steps = value; this.NotifyOfPropertyChange(nameof(Steps)); }        }        public string CallReciepType { get; set; }        private ObservableCollection<ParameterTable> _selectItemTable = new ObservableCollection<ParameterTable>();        public ObservableCollection<ParameterTable> SelectItemTable        {            get { return _selectItemTable; }            set { _selectItemTable = value; this.NotifyOfPropertyChange(nameof(SelectItemTable)); }        }        private string _selectItemName;        public string SelectItemName        {            get { return _selectItemName; }            set { _selectItemName = value; this.NotifyOfPropertyChange(nameof(SelectItemName)); }        }        private string _selectItemEndStatus;        public string SelectItemEndStatus        {            get { return _selectItemEndStatus; }            set { _selectItemEndStatus = value; this.NotifyOfPropertyChange(nameof(SelectItemEndStatus)); }        }        private Visibility _isAlarmVisibility;        public Visibility IsAlarmVisibility        {            get { return _isAlarmVisibility; }            set { _isAlarmVisibility = value; this.NotifyOfPropertyChange(nameof(IsAlarmVisibility)); }        }        private RecipeProvider _recipeProvider = new RecipeProvider();        private RecipeTable _SelectedTable = new RecipeTable();        public RecipeTable SelectedTable        {            get { return _SelectedTable; }            set { _SelectedTable = value; this.NotifyOfPropertyChange(nameof(SelectedTable)); }        }        public string ResultParameterStr { get; set; }        private RecipeDataBase _CurrentRecipe = new RecipeDataBase();        public RecipeDataBase CurrentRecipe        {            get { return _CurrentRecipe; }            set { _CurrentRecipe = value; this.NotifyOfPropertyChange(nameof(CurrentRecipe)); }        }        protected override void OnInitialize()        {            base.OnInitialize();            LoadData();        }        private void LoadData()        {            CurrentRecipe.Clear();            var prefixPath = $"Furnace\\{CallReciepType}";            var recipes = _recipeProvider.GetXmlRecipeList(prefixPath);            var firstFile = RecipeSequenceTreeBuilder.GetFileNodeParameterList(prefixPath)[0].Files.FirstOrDefault(); ;            if (firstFile != null)            {                var recipeContent = _recipeProvider.LoadRecipe(prefixPath, firstFile.FullPath);                CurrentRecipe.InitData(prefixPath, firstFile.Name, recipeContent, "PM1");                foreach (var item in CurrentRecipe.Tables)                {                    var stepItem = new ParameterTable()                    {                        StepNo = item.Index,                        Name = item.Name,                        IsChecked = false,                    };                    Steps.Add(stepItem);                }                if (ResultParameterStr != null)                {                    var stepNo = ResultParameterStr.Split(':')[0];                    var one = Steps.Where(a => a.StepNo.Equals(int.Parse(stepNo))).FirstOrDefault();                    one.IsChecked = true;                    SelectItemName = one.Name;                    SelectedTable = CurrentRecipe.Tables[one.StepNo - 1];                }                else                {                    var first = Steps.FirstOrDefault();                    if (first != null)                    {                        first.IsChecked = true;                        SelectItemName = first.Name;                        ResultParameterStr = $"{first.StepNo}:{first.Name}";                        SelectedTable = CurrentRecipe.Tables[first.StepNo-1];                    }                }            }        }        public void SelectTable(object step)        {            if (step != null)            {                var step1 = step as ParameterTable;                var SelectedStep = this.Steps.Where(x => x.StepNo == step1.StepNo).FirstOrDefault();                SelectedStep.IsChecked = true;                SelectItemName = step1.Name;                SelectItemTable = new ObservableCollection<ParameterTable>();                ResultParameterStr = $"{step1.StepNo}:{step1.Name}";                SelectedTable = CurrentRecipe.Tables[SelectedStep.StepNo-1];            }        }        public void AlarmTableSelected(object step)        {            if (step != null)            {                var step1 = step as ParameterTable;                var SelectedStep = this.Steps.Where(x => x.StepNo == step1.StepNo).FirstOrDefault();                SelectedStep.IsChecked = true;                SelectItemName = step1.Name;                SelectItemTable = new ObservableCollection<ParameterTable>();                ResultParameterStr = $"{step1.StepNo}:{step1.Name}";                SelectedTable = CurrentRecipe.Tables[SelectedStep.StepNo-1];            }        }        public void CloseCommand()        {            ((Window)GetView()).DialogResult = false;        }        public void OKCommand()        {            ((Window)GetView()).DialogResult = true;        }    }}
 |