90 lines
2.4 KiB
C#
90 lines
2.4 KiB
C#
using System.ComponentModel.DataAnnotations.Schema;
|
|
using YLErp.Enums;
|
|
|
|
namespace YLErp.DBModels
|
|
{
|
|
[Table("quotasetting")]
|
|
public class QuotaSetting : DBModelWithOperator, IClonable<QuotaSetting>
|
|
{
|
|
/// <summary>
|
|
/// 限额维度
|
|
/// </summary>
|
|
public QuotaTypeEnum QuotaType { get; set; }
|
|
|
|
/// <summary>
|
|
/// 包含事前检查
|
|
/// <para>确认成交时检查</para>
|
|
/// </summary>
|
|
public bool Precheck { get; set; }
|
|
|
|
/// <summary>
|
|
/// 挂钩标的、客户id或个股流动性天数
|
|
/// <para>0=全部</para>
|
|
/// </summary>
|
|
public int QuotaRange { get; set; }
|
|
|
|
/// <summary>
|
|
/// 挂钩标的、客户或个股流动性天数用来显示的信息
|
|
/// </summary>
|
|
[NotMapped]
|
|
public string QuotaRangeStr { get; set; }
|
|
|
|
/// <summary>
|
|
/// 限额指标
|
|
/// </summary>
|
|
public string QuotaIndex { get; set; }
|
|
|
|
/// <summary>
|
|
/// 限额上限
|
|
/// </summary>
|
|
public double? QuotaUpperLimit { get; set; }
|
|
|
|
/// <summary>
|
|
/// 限额下限
|
|
/// </summary>
|
|
public double? QuotaLowerLimit { get; set; }
|
|
|
|
/// <summary>
|
|
/// 预警上限
|
|
/// </summary>
|
|
public double? WarningUpperLimit { get; set; }
|
|
|
|
/// <summary>
|
|
/// 预警下限
|
|
/// </summary>
|
|
public double? WarningLowerLimit { get; set; }
|
|
|
|
/// <summary>
|
|
/// 是否有效
|
|
/// </summary>
|
|
public bool IsValid { get; set; }
|
|
|
|
/// <summary>
|
|
/// 审批状态
|
|
/// </summary>
|
|
public QuotaSettingApprovalStatus Status { get; set; }
|
|
|
|
/// <summary>
|
|
/// 百分比还是绝对值
|
|
/// </summary>
|
|
public bool Percent { get; set; }
|
|
|
|
public QuotaSetting Clone()
|
|
{
|
|
return (QuotaSetting)MemberwiseClone();
|
|
}
|
|
|
|
public void ConvertToAbs(double baseNumber)
|
|
{
|
|
if (Percent)
|
|
{
|
|
QuotaUpperLimit = QuotaUpperLimit * baseNumber;
|
|
QuotaLowerLimit = QuotaLowerLimit * baseNumber;
|
|
WarningUpperLimit = WarningUpperLimit * baseNumber;
|
|
WarningLowerLimit = WarningLowerLimit * baseNumber;
|
|
Percent = false;
|
|
}
|
|
}
|
|
}
|
|
}
|