| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 | 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 TempProfileTableViewModel : FurnaceUIViewModelBase    {        public TempProfileTableViewModel()        {        }        public bool IsSave { get; set; }        public bool IsProfileNoneChecked { get; set; }        public bool IsProfileOneChecked { get; set; }        public bool IsProfileTwoChecked { get; set; }        public bool IsProfileThreeChecked { get; set; }        public bool IsProfileFourChecked { get; set; }        public bool IsProfileFiveChecked { get; set; }        public string TempProfileTableSelected { get; set; }        public bool IsEnable => CGlobal.RecipeProcessEditViewEnable;//是否是View模式        private List<List<string>> _currentValue = new List<List<string>>();        public List<List<string>> CurrentValue        {            get => _currentValue;            set            {                _currentValue = value;                NotifyOfPropertyChange(nameof(CurrentValue));            }        }        protected override void OnViewLoaded(object view)        {            base.OnViewLoaded(view);            IsProfileNoneChecked = TempProfileTableSelected == "None";            IsProfileOneChecked = TempProfileTableSelected == "1";            IsProfileTwoChecked = TempProfileTableSelected == "2";            IsProfileThreeChecked = TempProfileTableSelected == "3";            IsProfileFourChecked = TempProfileTableSelected == "4";            IsProfileFiveChecked = TempProfileTableSelected == "5";        }        protected override void OnInitialize()        {            base.OnInitialize();            InitTableSelected();        }        private void InitTableSelected()        {            switch (TempProfileTableSelected)            {                case "Table1":                    TempProfileTableSelected = "1";                    break;                case "Table2":                    TempProfileTableSelected = "2";                    break;                case "Table3":                    TempProfileTableSelected = "3";                    break;                case "Table4":                    TempProfileTableSelected = "4";                    break;                case "Table5":                    TempProfileTableSelected = "5";                    break;            }            if (TempProfileTableSelected == "None" || string.IsNullOrEmpty(TempProfileTableSelected))            {                InitTableData("1");            }            else            {                InitTableData(TempProfileTableSelected);            }        }        private void InitTableData(string tableIndex)        {            CurrentValue.Clear();            ConfigNode rootNode = SystemConfigProvider.Instance.GetConfig(true);            ConfigNode tempProfileNode = FindNodeByName(rootNode, "PM1.RecipeEditParameter.TempProfileTable");            ConfigNode tableNode = tempProfileNode.SubNodes.Find((x) => x.Name == $"Table{tableIndex}");            List<ConfigNode> subNodes = tableNode.SubNodes;            foreach (var node in subNodes)            {                List<string> temp = 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}";                    temp.Add(SystemConfigProvider.Instance.GetValueByName(key));                }                CurrentValue.Add(temp);            }            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 TempProfileSelected(object sender)        {            if (sender.ToString() != "None")            {                InitTableData(sender.ToString());            }            TempProfileTableSelected = sender.ToString();        }        public void SaveCmd()        {            IsSave = true;            ((Window)GetView()).DialogResult = true;        }        public void CloseCmd()        {            IsSave = false;            ((Window)GetView()).DialogResult = false;        }    }}
 |