54 lines
1.5 KiB
C#
54 lines
1.5 KiB
C#
using System.ComponentModel.DataAnnotations;
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
using Microsoft.EntityFrameworkCore;
|
|
using Pf2eModel.Model.Base;
|
|
using Pf2eModel.Model.Enum;
|
|
|
|
namespace Pf2eModel.Model.Structure;
|
|
|
|
/// <summary>
|
|
/// Правило.
|
|
/// </summary>
|
|
[EntityOfType(EntityType.Rule)]
|
|
public class Rule : IEntity
|
|
{
|
|
/// <inheritdoc/>
|
|
[Key]
|
|
[DatabaseGenerated(DatabaseGeneratedOption.None)]
|
|
[Column(Order = 1)]
|
|
[Comment("Идентификатор")]
|
|
public int Id { get; set; }
|
|
|
|
/// <inheritdoc/>
|
|
public Entity Entity { get; set; } = null!;
|
|
|
|
/// <summary>
|
|
/// Порядок отображения.
|
|
/// </summary>
|
|
[Column(Order = 2)]
|
|
[Comment("Порядок отображения")]
|
|
public int Order { get; set; }
|
|
|
|
/// <summary>
|
|
/// Идентификатор родительского правила.
|
|
/// </summary>
|
|
[Column(Order = 3)]
|
|
[Comment("Родительского правило")]
|
|
public int? ParentId { get; set; } = null;
|
|
|
|
/// <summary>
|
|
/// Родительское правило.
|
|
/// </summary>
|
|
public Rule? Parent { get; set; } = null;
|
|
|
|
/// <summary>
|
|
/// Дочерние правила.
|
|
/// </summary>
|
|
public ICollection<Rule> Children { get; set; } = [];
|
|
|
|
/// <summary>
|
|
/// Хлебные крошки для отображения в интерфейсе.
|
|
/// </summary>
|
|
public string[] Breadcrumbs { get; set; } = [];
|
|
}
|