namespace Brizco.Domain.Entities.Complexes;

[AdaptTwoWays("[name]SDto", IgnoreAttributes = new[] { typeof(AdaptIgnoreAttribute) }, MapType = MapType.Map | MapType.MapToTarget | MapType.Projection)]
[AdaptTwoWays("[name]LDto", IgnoreAttributes = new[] { typeof(AdaptIgnoreAttribute) }, MapType = MapType.Map | MapType.MapToTarget)]
[AdaptTo("[name]LDto", IgnoreAttributes = new[] { typeof(AdaptIgnoreAttribute) }, MapType = MapType.Projection)]
[GenerateMapper]
public partial class Position : ApiEntity
{
    public Position()
    {
        
    }
    public Position(string name, string description, Guid complexId, Guid sectionId)
    {
        Name = name;
        Description = description;
        ComplexId = complexId;
        SectionId = sectionId;
    }

    public string Name { get; internal set; } = string.Empty;
    public string Description { get; internal set; } = string.Empty;



    public Guid ComplexId { get; internal set; }
    public Complex? Complex { get; internal set; }

    public Guid SectionId { get; internal set; }
    public Section? Section { get; internal set; }

    public List<PositionPermission> Permissions { get; set; } = new();
}