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;
- }
- }
- }
|