Files
PowderCoatingLogix/src/PowderCoating.Core/Entities/PendingRegistrationSession.cs
T
2026-04-23 21:38:24 -04:00

29 lines
1.1 KiB
C#

namespace PowderCoating.Core.Entities;
/// <summary>
/// Temporarily stores registration form data while the user completes a Stripe checkout.
/// Keyed by a GUID token that is embedded in the Stripe success/cancel URLs so no session
/// cookie is required to survive the cross-origin redirect.
/// Does NOT inherit BaseEntity — no CompanyId, no soft-delete, no tenant filter.
/// </summary>
public class PendingRegistrationSession
{
public int Id { get; set; }
/// <summary>GUID token embedded in the Stripe success/cancel URLs.</summary>
public string Token { get; set; } = string.Empty;
public string CompanyName { get; set; } = string.Empty;
public string? CompanyPhone { get; set; }
public string FirstName { get; set; } = string.Empty;
public string LastName { get; set; } = string.Empty;
public string Email { get; set; } = string.Empty;
public int Plan { get; set; }
public bool IsAnnual { get; set; }
public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
/// <summary>Set to true once the registration is successfully completed.</summary>
public bool IsCompleted { get; set; }
}