Files
zszq-trs/Framework/YLErp.Core/DBModels/QuotaSetting.cs
T
2024-05-09 14:06:26 +08:00

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;
}
}
}
}