using Abp.Domain.Entities.Auditing;
using IwbZero.Authorization.Base.Users;
namespace IwbZero.MultiTenancy
{
///
/// Represents a Tenant of the application.
///
public abstract class IwbTenant : TenantBase, IFullAudited
where TUser : UserBase
{
/////
///// Current of the Tenant.
/////
//public virtual Edition Edition { get; set; }
//public virtual int? EditionId { get; set; }
///
/// Reference to the creator user of this entity.
///
public virtual TUser CreatorUser { get; set; }
///
/// Reference to the last modifier user of this entity.
///
public virtual TUser LastModifierUser { get; set; }
///
/// Reference to the deleter user of this entity.
///
public virtual TUser DeleterUser { get; set; }
///
/// Creates a new tenant.
///
protected IwbTenant()
{
IsActive = true;
}
///
/// Creates a new tenant.
///
/// UNIQUE name of this Tenant
/// Display name of the Tenant
protected IwbTenant(string tenancyName, string name)
: this()
{
TenancyName = tenancyName;
Name = name;
}
}
}