namespace Fengling.Platform.Domain.AggregatesModel.TenantAggregate;

public class Tenant
{
    public long Id { get; set; }
    public string TenantCode { get; set; } = string.Empty;
    public string Name { get; set; } = string.Empty;
    public string ContactName { get; set; } = string.Empty;
    public string ContactEmail { get; set; } = string.Empty;
    public string? ContactPhone { get; set; }
    public int? MaxUsers { get; set; }
    public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
    public DateTime? UpdatedAt { get; set; }
    public DateTime? ExpiresAt { get; set; }
    public string? Description { get; set; }
    public TenantStatus Status { get; set; } = TenantStatus.Active;
    public bool IsDeleted { get; set; }
    public long RowVersion { get; set; }
}

public enum TenantStatus
{
    Active = 1,
    Inactive = 2,
    Frozen = 3
}
