namespace Netina.Domain.Entities.Users;

[AdaptTwoWays("[name]SDto", IgnoreAttributes = new[] { typeof(AdaptIgnoreAttribute) }, MapType = MapType.Map | MapType.MapToTarget )]
[AdaptTo("[name]SDto", IgnoreAttributes = new[] { typeof(AdaptIgnoreAttribute) }, MapType = MapType.Projection)]

[GenerateMapper]
public class ApplicationUser : IdentityUser<Guid>
{
    public string FirstName { get; set; } = string.Empty;
    public string LastName { get; set; } = string.Empty;
    public string NationalId { get; set; } = string.Empty;

    public DateTime BirthDate { get; set; }
    public Gender Gender { get; set; }
    public SignUpStatus SignUpStatus { get; set; }
    public List<UserAddress> Addresses { get; set; } = new();

    public Manager? Manager { get; set; }
    public Customer? Customer { get; set; }
    public Marketer? Marketer { get; set; }
}
