64 lines
1.8 KiB
C#
64 lines
1.8 KiB
C#
using IRaCIS.Core.Domain.Share;
|
|
|
|
namespace IRaCIS.Core.Application.Helper
|
|
{
|
|
[AttributeUsage(AttributeTargets.Property, AllowMultiple = true, Inherited = false)]
|
|
public class DictionaryTranslateAttribute : Attribute
|
|
{
|
|
|
|
public string DicParentCode { get; set; }
|
|
|
|
public DicDataTypeEnum DataTypeEnum { get; set; }
|
|
|
|
public CriterionType? CriterionType { get; set; }
|
|
|
|
|
|
//是否翻译依赖其他属性
|
|
public bool IsTranslateDenpendOtherProperty => !string.IsNullOrWhiteSpace(DependPropertyName);
|
|
|
|
public string DependPropertyName { get; set; } = string.Empty;
|
|
|
|
public string DependPropertyValueStr { get; set; } = string.Empty;
|
|
|
|
// 普通翻译的字典
|
|
public DictionaryTranslateAttribute(string dicParentCode)
|
|
{
|
|
DicParentCode = dicParentCode;
|
|
|
|
}
|
|
|
|
//针对不同的标准 翻译的字典不一样
|
|
public DictionaryTranslateAttribute(string dicParentCode, CriterionType criterionType)
|
|
{
|
|
DicParentCode = dicParentCode;
|
|
|
|
CriterionType = criterionType;
|
|
}
|
|
|
|
//针对业务某个属性的值 不一样 用的翻译字典不一样
|
|
|
|
public DictionaryTranslateAttribute(string dicParentCode, string dependPropertyName, string dependPropertyValueStr)
|
|
{
|
|
DicParentCode = dicParentCode;
|
|
|
|
DependPropertyName = dependPropertyName;
|
|
|
|
DependPropertyValueStr = dependPropertyValueStr;
|
|
|
|
}
|
|
|
|
public DictionaryTranslateAttribute(string dicParentCode, CriterionType criterionType, string dependPropertyName, string dependPropertyValueStr)
|
|
{
|
|
DicParentCode = dicParentCode;
|
|
|
|
DependPropertyName = dependPropertyName;
|
|
|
|
CriterionType = criterionType;
|
|
|
|
DependPropertyValueStr = dependPropertyValueStr;
|
|
|
|
}
|
|
|
|
}
|
|
}
|