21 lines
731 B
C#
21 lines
731 B
C#
using System.ComponentModel.DataAnnotations;
|
|
|
|
namespace Hutopy.Modules.Memberships.Data;
|
|
|
|
public class Membership
|
|
{
|
|
public Guid Id { get; set; }
|
|
public DateTimeOffset CreatedAt { get; set; }
|
|
public Guid UserId { get; set; }
|
|
public Guid CreatorId { get; set; }
|
|
public Guid TierId { get; set; }
|
|
public MembershipTier? MembershipTier { get; set; }
|
|
public MembershipState State { get; set; }
|
|
public DateTimeOffset? StartDate { get; set; }
|
|
public DateTimeOffset? EndDate { get; set; }
|
|
public bool IsActive => EndDate == null || EndDate > DateTimeOffset.UtcNow;
|
|
[MaxLength(256)] public string? StripeSubscriptionId { get; set; }
|
|
|
|
public ICollection<Payment> Payments { get; set; } = [];
|
|
}
|