| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151 | using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Controls;using System.Windows;using MECF.Framework.Common.DataCenter;using MECF.Framework.UI.Client.CenterViews.Configs.SystemConfig;using FurnaceUI.Models;namespace FurnaceUI.Views.Editors{    public class TempStabilizeTableViewModel : FurnaceUIViewModelBase    {        public TempStabilizeTableViewModel()        {        }        public bool IsSave { get; set; }        public bool IsStabilizeNoneChecked { get; set; }        public bool IsStabilizeOneChecked { get; set; }        public bool IsStabilizeTwoChecked { get; set; }        public bool IsStabilizeThreeChecked { get; set; }        public bool IsStabilizeFourChecked { get; set; }        public bool IsStabilizeFiveChecked { get; set; }        public string TempStabilizeTableSelected { get; set; }        public bool IsEnable => CGlobal.RecipeProcessEditViewEnable;//是否是View模式        private List<string> _currentValue = new List<string>();        public List<string> CurrentValue        {            get => _currentValue;            set            {                _currentValue = value;                NotifyOfPropertyChange(nameof(CurrentValue));            }        }        protected override void OnInitialize()        {            base.OnInitialize();            InitTableSelected();            IsStabilizeNoneChecked = TempStabilizeTableSelected == "None";            IsStabilizeOneChecked = TempStabilizeTableSelected == "1";            IsStabilizeTwoChecked = TempStabilizeTableSelected == "2";            IsStabilizeThreeChecked = TempStabilizeTableSelected == "3";            IsStabilizeFourChecked = TempStabilizeTableSelected == "4";            IsStabilizeFiveChecked = TempStabilizeTableSelected == "5";        }        private void InitTableSelected()        {            switch (TempStabilizeTableSelected)            {                case "Table1":                    TempStabilizeTableSelected = "1";                    break;                case "Table2":                    TempStabilizeTableSelected = "2";                    break;                case "Table3":                    TempStabilizeTableSelected = "3";                    break;                case "Table4":                    TempStabilizeTableSelected = "4";                    break;                case "Table5":                    TempStabilizeTableSelected = "5";                    break;            }            if (TempStabilizeTableSelected == "None" || string.IsNullOrEmpty(TempStabilizeTableSelected))            {                InitTableData("1","Top");            }            else            {                InitTableData(TempStabilizeTableSelected,"Top");            }        }        private void InitTableData(string table,string displayName)        {            CurrentValue.Clear();            ConfigNode rootNode = SystemConfigProvider.Instance.GetConfig(true);            ConfigNode tempProfileNode = FindNodeByName(rootNode, "PM1.RecipeEditParameter.TempStabilizeTable");            ConfigNode tableNode = tempProfileNode.SubNodes.Find((x) => x.Name == $"Table{table}");            List<ConfigNode> subNodes = tableNode.SubNodes;            foreach (var node in subNodes)            {                if (node.Name == displayName)                {                    CurrentValue = new List<string>();                    string sNodeName = string.IsNullOrEmpty(node.Path) ? node.Name : $"{node.Path}.{node.Name}";                    foreach (var item in node.Items)                    {                        string key = $"{sNodeName}.{item.Name}";                        CurrentValue.Add(SystemConfigProvider.Instance.GetValueByName(key));                    }                }            }            NotifyOfPropertyChange(nameof(CurrentValue));        }        private ConfigNode FindNodeByName(ConfigNode parentNode, string strName)        {            string strCates = strName.Split('.')[0];            ConfigNode node = parentNode.SubNodes.Find((x) => x.Name == strCates);            if (node == null)                return parentNode;            else                return FindNodeByName(node, strName.Replace(strCates + ".", ""));        }        public void TempStabilizeSelected(object sender)        {            if (sender.ToString() != "None")            {                InitTableData(sender.ToString(),"Top");            }            TempStabilizeTableSelected = sender.ToString();        }        public void DisplayNameSelected(object sender)        {            if (TempStabilizeTableSelected == "None")                InitTableData("1", sender.ToString());            else                InitTableData(TempStabilizeTableSelected, sender.ToString());        }        public void SaveCmd()        {            IsSave = true;            ((Window)GetView()).DialogResult = true;        }        public void CloseCmd()        {            IsSave = false;            ((Window)GetView()).DialogResult = false;        }    }}
 |