track/src/SJZY.Track.Domain/Aggregates/ForewarningAggregate/WarningEntity.cs

71 lines
1.8 KiB
C#

using SJZY.Track.Domain.Enums;
using Volo.Abp;
namespace SJZY.Track.Domain.Aggregates.ForewarningAggregate;
[SugarTable("t_warning")]
public class WarningEntity: IFullAuditedBasicEntitys, IAggregateRoot
{
/// <summary>
/// 自增主键
/// </summary>
[SugarColumn(ColumnName = "Id", IsPrimaryKey = true, IsIdentity = true)]
public int Id { get; set; }
/// <summary>
/// 子系统id
/// </summary>
[SugarColumn(ColumnName = "SubSystemId")]
public int SubSystemId { get; set; }
/// <summary>
/// 客户id
/// </summary>
[SugarColumn(ColumnName = "CustomerId")]
public int CustomerId { get; set; }
/// <summary>
/// 规则模板名称,KPI名称
/// </summary>
[SugarColumn(ColumnName = "Name")]
public string Name { get; set; } = null!;
/// <summary>
/// 因素类型排序
/// </summary>
[SugarColumn(ColumnName = "FactorTypeSort")]
public string FactorTypeSort { get; set; } = null!;
/// <summary>
/// 是否启用,默认否
/// </summary>
[SugarColumn(ColumnName = "IsEnable")]
public bool IsEnable { get; set; }
/// <summary>
/// 预警规则
/// </summary>
[SugarColumn(IsIgnore = true)]
public List<WarningRuleEntity> WarningRules { get; set; } = new();
/// <summary>
/// 预警因素
/// </summary>
[SugarColumn(IsIgnore = true)]
public List<WarningFactorEntity> WarningFactors { get; set; } = new();
public void SetName(string name)
{
Name = name;
}
public void SetEnable(bool isEnable)
{
if (IsEnable == isEnable)
{
throw new BusinessException(message: $"预警已经是{(isEnable ? "启用" : "禁用")}状态");
}
IsEnable = isEnable;
}
}