| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 | using Newtonsoft.Json;using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Reflection;using System.Text;using System.Threading.Tasks;namespace MECF.Framework.Simulator.Core.Commons{    public class IOSimulatorItemReader    {        private static Dictionary<string, IOSimulatorItemViewModelConfig> _commandModelConfigDict = new Dictionary<string, IOSimulatorItemViewModelConfig>();        public static IOSimulatorItemViewModelConfig GetCommandModelConfig(string hardwarePath, string hardwareName)        {            IOSimulatorItemViewModelConfig commandModelConfig = null;            if (_commandModelConfigDict.Keys.Contains(hardwareName))            {                commandModelConfig = _commandModelConfigDict[hardwareName];            }            else            {                commandModelConfig = JsonConvert.DeserializeObject<IOSimulatorItemViewModelConfig>(File.ReadAllText(ConfigPath.AssemblyPath + $"\\{hardwarePath}\\{hardwareName}\\IOSimulatorItems.json"));                _commandModelConfigDict.Add(hardwareName, commandModelConfig);            }            return commandModelConfig;        }        public static IOSimulatorItemViewModelConfig GetCommandModelConfigV2(string hardwareName)        {            IOSimulatorItemViewModelConfig commandModelConfig = null;            if (_commandModelConfigDict.Keys.Contains(hardwareName))            {                commandModelConfig = _commandModelConfigDict[hardwareName];            }            else            {                commandModelConfig = JsonConvert.DeserializeObject<IOSimulatorItemViewModelConfig>(File.ReadAllText(ConfigPath.AssemblyPath + $"\\SimulatorItems\\{hardwareName}_IOSimulatorItems.json"));                _commandModelConfigDict.Add(hardwareName, commandModelConfig);            }            return commandModelConfig;        }    }    public class ConfigPath    {        public static string AssemblyPath        {            get            {                string path = Assembly.GetExecutingAssembly().Location;                FileInfo finfo = new FileInfo(path);                return finfo.DirectoryName;            }        }    }}
 |