using Autodesk.Revit.DB;
using CommunityToolkit.Mvvm.ComponentModel;
using Dapper;
using Dapper.Contrib.Extensions;
namespace Szmedi.Toolkit.Revit.Approval
{
///
/// 用于轨道交通修改参数功能
///
public partial class AfcaMetroBaseParameter : ObservableValidator
{
///
/// 索引
///
[Key]
public int Index { get; set; }
///
/// Revit参数组
///
public string RevitParamGroup { get; set; }
///
/// 参数前缀,CM-100
///
public string ParamPrefix { get; set; }
///
/// 参数名
///
public string ParamName { get; set; }
///
/// 参数值类型,数值,文本
///
public string ParamType { get; set; }
///
/// 计量单位
///
public string Unit { get; set; }
///
/// 信息深度
///
public string InfoLevel { get; set; }
///
/// 必填
///
public int Mandatory { get; set; }
///
/// 属性值
///
//[Editable(false)]
[ObservableProperty]
public partial string ParamValue { get; set; }
public string Comments { get; set; }
//[Editable(false)]
public string ParamFullName => $"{ParamPrefix}-{ParamName}";
}
///
/// 轨道交通的基本属性
///
[Table("afca_metro_base_properties")]
public class MetroCommonParameter : AfcaMetroBaseParameter
{
public override string ToString()
{
return ParamFullName;
}
}
///
/// 轨道交通的专项属性
///
[Table("afca_metro_dedicated_properties")]
public class MetroDedicatedParameter : AfcaMetroBaseParameter
{
///
/// 分类
///
public string Categories { get; set; }
///
/// 参数表索引
///
public string ParamTableIndex { get; set; }
public override string ToString()
{
return ParamFullName;
}
}
}