892 lines
24 KiB
C#
892 lines
24 KiB
C#
|
|
using System;
|
|||
|
|
using System.Collections.Generic;
|
|||
|
|
using System.ComponentModel;
|
|||
|
|
using System.Linq;
|
|||
|
|
using System.Text;
|
|||
|
|
|
|||
|
|
namespace APT.Infrastructure.Core
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
[AttributeUsage(AttributeTargets.Class, Inherited = true)]
|
|||
|
|
public class UnionKeyAttribute : Attribute
|
|||
|
|
{
|
|||
|
|
private string _unionKey = string.Empty;
|
|||
|
|
|
|||
|
|
public string UnionKey
|
|||
|
|
{
|
|||
|
|
get { return _unionKey; }
|
|||
|
|
}
|
|||
|
|
public UnionKeyAttribute(string unionKey)
|
|||
|
|
{
|
|||
|
|
_unionKey = unionKey;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
[AttributeUsage(AttributeTargets.Property, Inherited = true)]
|
|||
|
|
public class CUniqueAttribute : Attribute
|
|||
|
|
{
|
|||
|
|
private string _displayName = string.Empty;
|
|||
|
|
private bool _isCheckOrg = false;
|
|||
|
|
private bool _isCheckEmpty = true;
|
|||
|
|
public string DisplayName
|
|||
|
|
{
|
|||
|
|
get { return _displayName; }
|
|||
|
|
}
|
|||
|
|
public bool IsCheckOrg
|
|||
|
|
{
|
|||
|
|
get { return _isCheckOrg; }
|
|||
|
|
}
|
|||
|
|
public bool IsCheckEmpty
|
|||
|
|
{
|
|||
|
|
get { return _isCheckEmpty; }
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public CUniqueAttribute()
|
|||
|
|
: this(string.Empty)
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
public CUniqueAttribute(bool isCheckOrg)
|
|||
|
|
: this(string.Empty, isCheckOrg)
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public CUniqueAttribute(string displayName)
|
|||
|
|
: this(displayName, false)
|
|||
|
|
{
|
|||
|
|
}
|
|||
|
|
public CUniqueAttribute(string displayName, bool isCheckOrg)
|
|||
|
|
: this(displayName, isCheckOrg, true)
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public CUniqueAttribute(string displayName, bool isCheckOrg, bool isCheckEmpty)
|
|||
|
|
: base()
|
|||
|
|
{
|
|||
|
|
_displayName = displayName;
|
|||
|
|
_isCheckOrg = isCheckOrg;
|
|||
|
|
_isCheckEmpty = isCheckEmpty;
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 枚举属性
|
|||
|
|
/// </summary>
|
|||
|
|
[AttributeUsage(AttributeTargets.Property, Inherited = true)]
|
|||
|
|
public class EnumNameAttribute : Attribute
|
|||
|
|
{
|
|||
|
|
private string _enumName = string.Empty;
|
|||
|
|
public string EnumName
|
|||
|
|
{
|
|||
|
|
get { return _enumName; }
|
|||
|
|
}
|
|||
|
|
public EnumNameAttribute(string enumName)
|
|||
|
|
: base()
|
|||
|
|
{
|
|||
|
|
_enumName = enumName;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
/// <summary>
|
|||
|
|
/// 枚举项排序索引小标 属性
|
|||
|
|
/// </summary>
|
|||
|
|
[AttributeUsage(AttributeTargets.All, Inherited = true)]
|
|||
|
|
public class EnumSortIndexAttribute : Attribute
|
|||
|
|
{
|
|||
|
|
private int _sortIndex = 0;
|
|||
|
|
public int SortIndex
|
|||
|
|
{
|
|||
|
|
get { return _sortIndex; }
|
|||
|
|
}
|
|||
|
|
public EnumSortIndexAttribute()
|
|||
|
|
: base()
|
|||
|
|
{
|
|||
|
|
}
|
|||
|
|
public EnumSortIndexAttribute(int sortIndex)
|
|||
|
|
: base()
|
|||
|
|
{
|
|||
|
|
_sortIndex = sortIndex;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
/// <summary>
|
|||
|
|
/// 枚举项排序索引小标 属性
|
|||
|
|
/// </summary>
|
|||
|
|
[AttributeUsage(AttributeTargets.All, Inherited = true)]
|
|||
|
|
public class IgnoreT4Attribute : Attribute
|
|||
|
|
{
|
|||
|
|
public IgnoreT4Attribute()
|
|||
|
|
: base()
|
|||
|
|
{
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
[AttributeUsage(AttributeTargets.All, Inherited = true)]
|
|||
|
|
public class DataRuleFieldAttribute : Attribute
|
|||
|
|
{
|
|||
|
|
private string _fileName = "";
|
|||
|
|
public DataRuleFieldAttribute(string fileName)
|
|||
|
|
: base()
|
|||
|
|
{
|
|||
|
|
_fileName = fileName;
|
|||
|
|
}
|
|||
|
|
public string FileName { get { return _fileName; } }
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 枚举属性
|
|||
|
|
/// </summary>
|
|||
|
|
[AttributeUsage(AttributeTargets.Property, Inherited = true)]
|
|||
|
|
public class CodeRuleAttribute : Attribute
|
|||
|
|
{
|
|||
|
|
private int[] _codeRuleTypes = null;
|
|||
|
|
private bool _isCheckState = true;
|
|||
|
|
|
|||
|
|
public bool IsCheckState { get { return _isCheckState; } }
|
|||
|
|
|
|||
|
|
public int[] CodeRuleTypes
|
|||
|
|
{
|
|||
|
|
get { return _codeRuleTypes; }
|
|||
|
|
}
|
|||
|
|
public CodeRuleAttribute(params int[] codeRuleTypes)
|
|||
|
|
: this(true, codeRuleTypes)
|
|||
|
|
{
|
|||
|
|
}
|
|||
|
|
public CodeRuleAttribute(bool isCheckState, params int[] codeRuleTypes)
|
|||
|
|
: base()
|
|||
|
|
{
|
|||
|
|
_isCheckState = isCheckState;
|
|||
|
|
_codeRuleTypes = codeRuleTypes;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 数据记录
|
|||
|
|
/// </summary>
|
|||
|
|
[AttributeUsage(AttributeTargets.Class, Inherited = false, AllowMultiple = true)]
|
|||
|
|
public sealed class DataRecordAttribute : Attribute
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// 数据记录
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="direction">数据方向</param>
|
|||
|
|
public DataRecordAttribute(DataDirection direction)
|
|||
|
|
{
|
|||
|
|
Direction = direction;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 数据方向
|
|||
|
|
/// </summary>
|
|||
|
|
public DataDirection Direction { get; set; }
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
public class OperateCodeAttribute : Attribute
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// 初始化一个<see cref="OperateCodeAttribute"/>类型的新实例
|
|||
|
|
/// </summary>
|
|||
|
|
public OperateCodeAttribute(String code)
|
|||
|
|
{
|
|||
|
|
Code = code;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 获取 操作符
|
|||
|
|
/// </summary>
|
|||
|
|
public String Code { get; private set; }
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 首字母简称属性
|
|||
|
|
/// </summary>
|
|||
|
|
[AttributeUsage(AttributeTargets.Property, Inherited = true)]
|
|||
|
|
public class AcronymFieldAttribute : Attribute
|
|||
|
|
{
|
|||
|
|
private string _acronymFieldName = null;
|
|||
|
|
public string AcronymFieldName
|
|||
|
|
{
|
|||
|
|
get { return _acronymFieldName; }
|
|||
|
|
}
|
|||
|
|
public AcronymFieldAttribute(string acronymFieldName)
|
|||
|
|
: base()
|
|||
|
|
{
|
|||
|
|
_acronymFieldName = acronymFieldName;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 编辑表单显示字段属性
|
|||
|
|
/// 用于定义字段是否显示在编辑表单中
|
|||
|
|
/// </summary>
|
|||
|
|
[AttributeUsage(AttributeTargets.Property, Inherited = true)]
|
|||
|
|
public class FormFieldEditAttribute : Attribute
|
|||
|
|
{
|
|||
|
|
private string _displayName;
|
|||
|
|
private int _num;
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 字段显示文本
|
|||
|
|
/// </summary>
|
|||
|
|
[Description("字段显示文本")]
|
|||
|
|
public string DisplayName { get { return _displayName; } }
|
|||
|
|
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 顺序索引
|
|||
|
|
/// </summary>
|
|||
|
|
[Description("顺序索引")]
|
|||
|
|
public int Num { get { return _num; } }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
///
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="diplayName">字段显示文本</param>
|
|||
|
|
/// <param name="num">顺序索引</param>
|
|||
|
|
public FormFieldEditAttribute(string diplayName, int num)
|
|||
|
|
: base()
|
|||
|
|
{
|
|||
|
|
_displayName = diplayName;
|
|||
|
|
_num = num;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
///
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="diplayName">字段显示文本</param>
|
|||
|
|
public FormFieldEditAttribute(string diplayName)
|
|||
|
|
: this(diplayName, 0)
|
|||
|
|
{
|
|||
|
|
}
|
|||
|
|
public FormFieldEditAttribute()
|
|||
|
|
: this(string.Empty)
|
|||
|
|
{
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 列表表单显示字段属性
|
|||
|
|
/// 用于定义字段是否显示在列表表单中
|
|||
|
|
/// </summary>
|
|||
|
|
[AttributeUsage(AttributeTargets.Property, Inherited = true)]
|
|||
|
|
public class FormFieldTableAttribute : Attribute
|
|||
|
|
{
|
|||
|
|
private string _displayName;
|
|||
|
|
private int _num;
|
|||
|
|
/// <summary>
|
|||
|
|
/// 字段显示文本
|
|||
|
|
/// </summary>
|
|||
|
|
[Description("字段显示文本")]
|
|||
|
|
public string DisplayName { get { return _displayName; } }
|
|||
|
|
/// <summary>
|
|||
|
|
/// 顺序索引
|
|||
|
|
/// </summary>
|
|||
|
|
[Description("顺序索引")]
|
|||
|
|
public int Num { get { return _num; } }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
///
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="diplayName">字段显示文本</param>
|
|||
|
|
/// <param name="num">顺序索引</param>
|
|||
|
|
public FormFieldTableAttribute(string displayName, int num)
|
|||
|
|
: base()
|
|||
|
|
{
|
|||
|
|
_displayName = displayName;
|
|||
|
|
_num = num;
|
|||
|
|
}
|
|||
|
|
/// <summary>
|
|||
|
|
///
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="diplayName">字段显示文本</param>
|
|||
|
|
public FormFieldTableAttribute(string displayName)
|
|||
|
|
: this(displayName, 0)
|
|||
|
|
{
|
|||
|
|
}
|
|||
|
|
public FormFieldTableAttribute(int num)
|
|||
|
|
: this(string.Empty, num)
|
|||
|
|
{
|
|||
|
|
}
|
|||
|
|
public FormFieldTableAttribute()
|
|||
|
|
: this(string.Empty)
|
|||
|
|
{
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 树表单显示字段属性
|
|||
|
|
/// 用于定义字段是否显示在树表单中
|
|||
|
|
/// </summary>
|
|||
|
|
[AttributeUsage(AttributeTargets.Property, Inherited = true)]
|
|||
|
|
public class FormFieldTreeAttribute : Attribute
|
|||
|
|
{
|
|||
|
|
private string _displayName;
|
|||
|
|
private int _num;
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 字段显示文本
|
|||
|
|
/// </summary>
|
|||
|
|
[Description("字段显示文本")]
|
|||
|
|
public string DisplayName { get { return _displayName; } }
|
|||
|
|
/// <summary>
|
|||
|
|
/// 顺序索引
|
|||
|
|
/// </summary>
|
|||
|
|
[Description("顺序索引")]
|
|||
|
|
public int Num { get { return _num; } }
|
|||
|
|
/// <summary>
|
|||
|
|
///
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="diplayName">字段显示文本</param>
|
|||
|
|
/// <param name="num">顺序索引</param>
|
|||
|
|
public FormFieldTreeAttribute(string displayName, int num)
|
|||
|
|
: base()
|
|||
|
|
{
|
|||
|
|
_displayName = displayName;
|
|||
|
|
_num = num;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
///
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="diplayName">字段显示文本</param>
|
|||
|
|
public FormFieldTreeAttribute(string displayName)
|
|||
|
|
: this(displayName, 0)
|
|||
|
|
{
|
|||
|
|
}
|
|||
|
|
public FormFieldTreeAttribute(int num)
|
|||
|
|
: this(string.Empty, num)
|
|||
|
|
{
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public FormFieldTreeAttribute()
|
|||
|
|
: this(string.Empty)
|
|||
|
|
{
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 列表单显示查询字段属性
|
|||
|
|
/// 用于定义字段是否显示在列表表单查询中
|
|||
|
|
/// </summary>
|
|||
|
|
[AttributeUsage(AttributeTargets.Property, Inherited = true)]
|
|||
|
|
public class FormFieldQueryAttribute : Attribute
|
|||
|
|
{
|
|||
|
|
private string _displayName;
|
|||
|
|
private int _num;
|
|||
|
|
/// <summary>
|
|||
|
|
/// 字段显示文本
|
|||
|
|
/// </summary>
|
|||
|
|
[Description("字段显示文本")]
|
|||
|
|
public string DisplayName { get { return _displayName; } }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 顺序索引
|
|||
|
|
/// </summary>
|
|||
|
|
[Description("顺序索引")]
|
|||
|
|
public int Num { get { return _num; } }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
///
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="diplayName">字段显示文本</param>
|
|||
|
|
public FormFieldQueryAttribute(string displayName, int num)
|
|||
|
|
: base()
|
|||
|
|
{
|
|||
|
|
_displayName = displayName;
|
|||
|
|
_num = num;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
///
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="diplayName">字段显示文本</param>
|
|||
|
|
public FormFieldQueryAttribute(string displayName)
|
|||
|
|
: this(displayName, 0)
|
|||
|
|
{
|
|||
|
|
}
|
|||
|
|
public FormFieldQueryAttribute(int num)
|
|||
|
|
: this(string.Empty, num)
|
|||
|
|
{
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public FormFieldQueryAttribute()
|
|||
|
|
: this(string.Empty)
|
|||
|
|
{
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 编辑表单显示字段属性
|
|||
|
|
/// 用于定义字段是否显示在编辑表单中
|
|||
|
|
/// </summary>
|
|||
|
|
[AttributeUsage(AttributeTargets.Class, Inherited = true)]
|
|||
|
|
public class FormClassEditAttribute : Attribute
|
|||
|
|
{
|
|||
|
|
private string _displayName;
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 字段显示文本
|
|||
|
|
/// </summary>
|
|||
|
|
[Description("字段显示文本")]
|
|||
|
|
public string DisplayName { get { return _displayName; } }
|
|||
|
|
/// <summary>
|
|||
|
|
///
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="diplayName">字段显示文本</param>
|
|||
|
|
public FormClassEditAttribute(string diplayName)
|
|||
|
|
: base()
|
|||
|
|
{
|
|||
|
|
_displayName = diplayName;
|
|||
|
|
}
|
|||
|
|
public FormClassEditAttribute()
|
|||
|
|
: this(string.Empty)
|
|||
|
|
{
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 列表表单显示字段属性
|
|||
|
|
/// 用于定义字段是否显示在列表表单中
|
|||
|
|
/// </summary>
|
|||
|
|
[AttributeUsage(AttributeTargets.Class, Inherited = true)]
|
|||
|
|
public class FormClassTableAttribute : Attribute
|
|||
|
|
{
|
|||
|
|
private string _displayName;
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 字段显示文本
|
|||
|
|
/// </summary>
|
|||
|
|
[Description("字段显示文本")]
|
|||
|
|
public string DisplayName { get { return _displayName; } }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
///
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="diplayName">字段显示文本</param>
|
|||
|
|
public FormClassTableAttribute(string displayName)
|
|||
|
|
: base()
|
|||
|
|
{
|
|||
|
|
_displayName = displayName;
|
|||
|
|
}
|
|||
|
|
public FormClassTableAttribute()
|
|||
|
|
: this(string.Empty)
|
|||
|
|
{
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 树表单显示字段属性
|
|||
|
|
/// 用于定义字段是否显示在树表单中
|
|||
|
|
/// </summary>
|
|||
|
|
[AttributeUsage(AttributeTargets.Class, Inherited = true)]
|
|||
|
|
public class FormClassTreeAttribute : Attribute
|
|||
|
|
{
|
|||
|
|
private string _displayName;
|
|||
|
|
/// <summary>
|
|||
|
|
/// 字段显示文本
|
|||
|
|
/// </summary>
|
|||
|
|
[Description("字段显示文本")]
|
|||
|
|
public string DisplayName { get { return _displayName; } }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
///
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="diplayName">字段显示文本</param>
|
|||
|
|
public FormClassTreeAttribute(string displayName)
|
|||
|
|
: base()
|
|||
|
|
{
|
|||
|
|
_displayName = displayName;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public FormClassTreeAttribute()
|
|||
|
|
: this(string.Empty)
|
|||
|
|
{
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 字段长度属性
|
|||
|
|
/// </summary>
|
|||
|
|
[AttributeUsage(AttributeTargets.Property, Inherited = true)]
|
|||
|
|
public class DataFieldLengthAttribute : Attribute
|
|||
|
|
{
|
|||
|
|
private int _length = 0;
|
|||
|
|
/// <summary>
|
|||
|
|
/// 字段长度
|
|||
|
|
/// </summary>
|
|||
|
|
[Description("字段长度")]
|
|||
|
|
public int Length
|
|||
|
|
{
|
|||
|
|
get { return _length; }
|
|||
|
|
}
|
|||
|
|
/// <summary>
|
|||
|
|
///
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="length">字段长度</param>
|
|||
|
|
public DataFieldLengthAttribute(int length)
|
|||
|
|
: base()
|
|||
|
|
{
|
|||
|
|
_length = length;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 字段忽略属性
|
|||
|
|
/// </summary>
|
|||
|
|
[AttributeUsage(AttributeTargets.Property, Inherited = true)]
|
|||
|
|
public class DataFieldIngoreAttribute : Attribute
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
public DataFieldIngoreAttribute()
|
|||
|
|
: base()
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 类索引属性
|
|||
|
|
/// 用于联合索引
|
|||
|
|
/// </summary>
|
|||
|
|
[AttributeUsage(AttributeTargets.Class, Inherited = true, AllowMultiple = true)]
|
|||
|
|
public class DataClassIndexAttribute : Attribute
|
|||
|
|
{
|
|||
|
|
private string[] _fields = null;
|
|||
|
|
bool _isUnique = false;
|
|||
|
|
/// <summary>
|
|||
|
|
/// 索引字段列表
|
|||
|
|
/// </summary>
|
|||
|
|
[Description("索引字段列表")]
|
|||
|
|
public string[] Fields
|
|||
|
|
{
|
|||
|
|
get { return _fields; }
|
|||
|
|
}
|
|||
|
|
/// <summary>
|
|||
|
|
/// 是否唯一索引
|
|||
|
|
/// </summary>
|
|||
|
|
[Description("是否唯一索引")]
|
|||
|
|
public bool IsUnique { get { return _isUnique; } }
|
|||
|
|
/// <summary>
|
|||
|
|
///
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="fields">索引字段列表</param>
|
|||
|
|
/// <param name="isUnique">是否唯一索引</param>
|
|||
|
|
public DataClassIndexAttribute(string[] fields, bool isUnique)
|
|||
|
|
: base()
|
|||
|
|
{
|
|||
|
|
if (fields == null || fields.Length == 0) throw new Exception("参数异常");
|
|||
|
|
_fields = fields;
|
|||
|
|
_isUnique = isUnique;
|
|||
|
|
}
|
|||
|
|
/// <summary>
|
|||
|
|
///
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="fields">索引字段列表</param>
|
|||
|
|
public DataClassIndexAttribute(string[] fields)
|
|||
|
|
: this(fields, false)
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 字段索引属性
|
|||
|
|
/// </summary>
|
|||
|
|
[AttributeUsage(AttributeTargets.Property, Inherited = true)]
|
|||
|
|
public class DataFieldIndexAttribute : Attribute
|
|||
|
|
{
|
|||
|
|
bool _isUnique = false;
|
|||
|
|
|
|||
|
|
string[] _fields = null;
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 是否唯一索引
|
|||
|
|
/// </summary>
|
|||
|
|
[Description("是否唯一索引")]
|
|||
|
|
public bool IsUnique { get { return _isUnique; } }
|
|||
|
|
|
|||
|
|
[Description("是否唯一索引")]
|
|||
|
|
public string[] Fields { get { return _fields; } }
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
///
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="isUnique">是否唯一索引</param>
|
|||
|
|
public DataFieldIndexAttribute(bool isUnique,params string[] fields)
|
|||
|
|
: base()
|
|||
|
|
{
|
|||
|
|
_isUnique = isUnique;
|
|||
|
|
_fields = fields;
|
|||
|
|
}
|
|||
|
|
public DataFieldIndexAttribute()
|
|||
|
|
: this(false)
|
|||
|
|
{
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 字段必填属性
|
|||
|
|
/// </summary>
|
|||
|
|
[AttributeUsage(AttributeTargets.Property, Inherited = true)]
|
|||
|
|
public class DataFieldRequireAttribute : Attribute
|
|||
|
|
{
|
|||
|
|
private bool _isRequire = true;
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 是否必填
|
|||
|
|
/// </summary>
|
|||
|
|
public bool IsRequire
|
|||
|
|
{
|
|||
|
|
get { return _isRequire; }
|
|||
|
|
}
|
|||
|
|
/// <summary>
|
|||
|
|
///
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="isRequire">是否必填</param>
|
|||
|
|
public DataFieldRequireAttribute(bool isRequire)
|
|||
|
|
: base()
|
|||
|
|
{
|
|||
|
|
_isRequire = isRequire;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public DataFieldRequireAttribute()
|
|||
|
|
: this(true)
|
|||
|
|
{
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 字段外键属性
|
|||
|
|
/// 在外键ID字段上使用
|
|||
|
|
/// </summary>
|
|||
|
|
[AttributeUsage(AttributeTargets.Property, Inherited = true)]
|
|||
|
|
public class DataFieldForeignKeyAttribute : Attribute
|
|||
|
|
{
|
|||
|
|
private string _navFieldName = null;
|
|||
|
|
private string _masterFieldName = string.Empty;
|
|||
|
|
private bool _isOneOnOne = false;
|
|||
|
|
/// <summary>
|
|||
|
|
/// 导航字段名称
|
|||
|
|
/// </summary>
|
|||
|
|
[Description("导航字段名称")]
|
|||
|
|
public string NavFieldName
|
|||
|
|
{
|
|||
|
|
get { return _navFieldName; }
|
|||
|
|
}
|
|||
|
|
/// <summary>
|
|||
|
|
/// 主表导航字段名称
|
|||
|
|
/// </summary>
|
|||
|
|
[Description("主表导航字段名称")]
|
|||
|
|
public string MasterFieldName
|
|||
|
|
{
|
|||
|
|
get { return _masterFieldName; }
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 主表导航字段名称
|
|||
|
|
/// </summary>
|
|||
|
|
[Description("是否一对一")]
|
|||
|
|
public bool IsOneOnOne
|
|||
|
|
{
|
|||
|
|
get { return _isOneOnOne; }
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
///
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="navFieldName">导航字段名称</param>
|
|||
|
|
/// <param name="masterFieldName">主表导航字段名称</param>
|
|||
|
|
/// <param name="isOneOnOne">是否1对1</param>
|
|||
|
|
public DataFieldForeignKeyAttribute(string navFieldName, string masterFieldName, bool isOneOnOne = false)
|
|||
|
|
: base()
|
|||
|
|
{
|
|||
|
|
if (string.IsNullOrEmpty(navFieldName)) throw new Exception("参数异常");
|
|||
|
|
|
|||
|
|
_navFieldName = navFieldName;
|
|||
|
|
_masterFieldName = masterFieldName;
|
|||
|
|
_isOneOnOne = isOneOnOne;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
///
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="navFieldName">导航字段名称</param>
|
|||
|
|
/// <param name="isOneOnOne">是否1对1</param>
|
|||
|
|
public DataFieldForeignKeyAttribute(string navFieldName, bool isOneOnOne = false)
|
|||
|
|
: this(navFieldName, string.Empty, isOneOnOne)
|
|||
|
|
{
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
/// <summary>
|
|||
|
|
/// 字段外键属性
|
|||
|
|
/// 在主表的外键导航属性上使用
|
|||
|
|
/// </summary>
|
|||
|
|
[AttributeUsage(AttributeTargets.Property, Inherited = true)]
|
|||
|
|
public class DataFieldForeignKeyForMasterAttribute : Attribute
|
|||
|
|
{
|
|||
|
|
private string _navFieldName = null;
|
|||
|
|
private string _idFieldName = null;
|
|||
|
|
private bool _isOneOnOne = false;
|
|||
|
|
/// <summary>
|
|||
|
|
/// 导航字段名称
|
|||
|
|
/// </summary>
|
|||
|
|
[Description("导航字段名称")]
|
|||
|
|
public string NavFieldName
|
|||
|
|
{
|
|||
|
|
get { return _navFieldName; }
|
|||
|
|
}
|
|||
|
|
/// <summary>
|
|||
|
|
/// ID字段名称
|
|||
|
|
/// </summary>
|
|||
|
|
[Description("ID字段名称")]
|
|||
|
|
public string IdFieldName
|
|||
|
|
{
|
|||
|
|
get { return _idFieldName; }
|
|||
|
|
}
|
|||
|
|
/// <summary>
|
|||
|
|
/// 主表导航字段名称
|
|||
|
|
/// </summary>
|
|||
|
|
[Description("是否一对一")]
|
|||
|
|
public bool IsOneOnOne
|
|||
|
|
{
|
|||
|
|
get { return _isOneOnOne; }
|
|||
|
|
}
|
|||
|
|
/// <summary>
|
|||
|
|
///
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="idFieldName">ID字段名称</param>
|
|||
|
|
/// <param name="navFieldName">导航字段名称</param>
|
|||
|
|
/// <param name="isOneOnOne">是否一对一</param>
|
|||
|
|
public DataFieldForeignKeyForMasterAttribute(string idFieldName, string navFieldName, bool isOneOnOne = false)
|
|||
|
|
: base()
|
|||
|
|
{
|
|||
|
|
if (string.IsNullOrEmpty(idFieldName)) throw new Exception("参数异常");
|
|||
|
|
_navFieldName = navFieldName;
|
|||
|
|
_idFieldName = idFieldName;
|
|||
|
|
_isOneOnOne = isOneOnOne;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
///
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="idFieldName">ID字段名称</param>
|
|||
|
|
/// <param name="isOneOnOne">是否一对一</param>
|
|||
|
|
public DataFieldForeignKeyForMasterAttribute(string idFieldName, bool isOneOnOne = false)
|
|||
|
|
: this(idFieldName, string.Empty, isOneOnOne)
|
|||
|
|
{
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
///获取方法的描述
|
|||
|
|
/// </summary>
|
|||
|
|
[AttributeUsage(AttributeTargets.Method, Inherited = true)]
|
|||
|
|
public class FuctionDescAttribute : Attribute
|
|||
|
|
{
|
|||
|
|
private string _fucName = null;
|
|||
|
|
private string[] _paramterDesc ;
|
|||
|
|
/// <summary>
|
|||
|
|
/// 导航字段名称
|
|||
|
|
/// </summary>
|
|||
|
|
[Description("函数名")]
|
|||
|
|
public string FucName
|
|||
|
|
{
|
|||
|
|
get { return _fucName; }
|
|||
|
|
}
|
|||
|
|
/// <summary>
|
|||
|
|
/// 参数说明
|
|||
|
|
/// </summary>
|
|||
|
|
[Description("参数说明")]
|
|||
|
|
public string[] ParamterDesc
|
|||
|
|
{
|
|||
|
|
get { return _paramterDesc; }
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 构造函数
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="fucName">方法描述</param>
|
|||
|
|
/// <param name="paramterDesc">参数描述</param>
|
|||
|
|
public FuctionDescAttribute(string fucName, params string[] paramterDesc)
|
|||
|
|
: base()
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
_fucName = fucName;
|
|||
|
|
_paramterDesc = paramterDesc;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 字段外键属性
|
|||
|
|
/// 在外键ID字段上使用
|
|||
|
|
/// </summary>
|
|||
|
|
[AttributeUsage(AttributeTargets.Property, Inherited = true)]
|
|||
|
|
public class UnionForeignKeyAttribute : Attribute
|
|||
|
|
{
|
|||
|
|
private string _unionKeyName = null;
|
|||
|
|
private string _masterFieldName = string.Empty;
|
|||
|
|
/// <summary>
|
|||
|
|
/// 导航字段名称
|
|||
|
|
/// </summary>
|
|||
|
|
[Description("导航字段名称")]
|
|||
|
|
public string UnionKeyName
|
|||
|
|
{
|
|||
|
|
get { return _unionKeyName; }
|
|||
|
|
}
|
|||
|
|
/// <summary>
|
|||
|
|
/// 主表导航字段名称
|
|||
|
|
/// </summary>
|
|||
|
|
[Description("主表导航字段名称")]
|
|||
|
|
public string MasterFieldName
|
|||
|
|
{
|
|||
|
|
get { return _masterFieldName; }
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
///
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="navFieldName">导航字段名称</param>
|
|||
|
|
/// <param name="masterFieldName">主表导航字段名称</param>
|
|||
|
|
public UnionForeignKeyAttribute(string unionKeyName, string masterFieldName)
|
|||
|
|
: base()
|
|||
|
|
{
|
|||
|
|
if (string.IsNullOrEmpty(unionKeyName)) throw new Exception("参数异常");
|
|||
|
|
|
|||
|
|
_unionKeyName = unionKeyName;
|
|||
|
|
_masterFieldName = masterFieldName;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
///
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="navFieldName">导航字段名称</param>
|
|||
|
|
public UnionForeignKeyAttribute(string navFieldName)
|
|||
|
|
: this(navFieldName, string.Empty)
|
|||
|
|
{
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|