using System; namespace MECF.Framework.UI.Client.RecipeEditorLib.RecipeModel.Params { public class PathFileParam : ParamBaseWithGenericValue { //TODO 系统所有的配方文件保存在“Sic\xxx\”路径下,"Sic"前缀可以通过系统配置设置,此处为了省事写死。 private const string SYS_NAME = "Sic"; #region Constructors public PathFileParam() { } public PathFileParam(string name, bool isEnabled, string prefixPath) { ControlName = name; IsEnabled = isEnabled; PrefixPath = prefixPath; } #endregion public override string Value { get => _value; set { Set(ref _value, value); ColumnPermChangedCallback?.Invoke(this); if (string.IsNullOrEmpty(_value)) { FileName = ""; } else { // Remove the prefix "Sic\xxx\", and leave the folder name of the recipe/seq file. var index = _value.LastIndexOf("\\", StringComparison.Ordinal); FileName = index > -1 ? _value.Replace($"{PrefixWithSysName}\\", "") : _value; } IsSaved = false; } } public string PrefixWithSysName => $"{SYS_NAME}\\{PrefixPath}"; private string _fileName; public string FileName { get => _fileName; set => Set(ref _fileName, value); } private string _prefixPath; public string PrefixPath { get => _prefixPath; set => Set(ref _prefixPath, value); } } }