@model List @using PowderCoating.Core.Enums @{ ViewData["Title"] = "Gift Certificates"; ViewData["PageIcon"] = "bi-gift"; }

@ViewBag.TotalActive active certificates — @((ViewBag.TotalValue as decimal? ?? 0m).ToString("C")) outstanding value

Clear
@if (!Model.Any()) {

No gift certificates found.

Create First Certificate
} else {
@foreach (var cert in Model) { var (gcBadge, gcLabel) = cert.Status switch { GiftCertificateStatus.Active => ("bg-success", "Active"), GiftCertificateStatus.PartiallyRedeemed => ("bg-info text-dark", "Partial"), GiftCertificateStatus.FullyRedeemed => ("bg-secondary", "Used"), GiftCertificateStatus.Expired => ("bg-warning text-dark", "Expired"), GiftCertificateStatus.Voided => ("bg-danger", "Voided"), _ => ("bg-secondary", cert.Status.ToString()) };
@cert.CertificateCode
@(cert.RecipientName ?? cert.RecipientEmail ?? "No recipient")
Status @gcLabel
Face Value @cert.OriginalAmount.ToString("C")
Remaining @cert.RemainingBalance.ToString("C")
Issued @cert.IssueDate.Tz(ViewBag.CompanyTimeZone as string).ToString("MM/dd/yy")
@if (cert.ExpiryDate.HasValue) {
Expires @cert.ExpiryDate.Value.ToString("MM/dd/yy")
}
}
@foreach (var cert in Model) { }
Certificate Code Recipient Reason Face Value Remaining Status Issued Expires
@cert.CertificateCode @if (cert.BatchId.HasValue) { Batch } @if (!string.IsNullOrEmpty(cert.RecipientName)) { @cert.RecipientName } else { } @if (!string.IsNullOrEmpty(cert.RecipientEmail)) {
@cert.RecipientEmail
}
@cert.IssuedReason @cert.OriginalAmount.ToString("C") @cert.RemainingBalance.ToString("C") @{ var (badgeClass, label) = cert.Status switch { GiftCertificateStatus.Active => ("bg-success", "Active"), GiftCertificateStatus.PartiallyRedeemed => ("bg-info text-dark", "Partial"), GiftCertificateStatus.FullyRedeemed => ("bg-secondary", "Used"), GiftCertificateStatus.Expired => ("bg-warning text-dark", "Expired"), GiftCertificateStatus.Voided => ("bg-danger", "Voided"), _ => ("bg-secondary", cert.Status.ToString()) }; } @label @cert.IssueDate.Tz(ViewBag.CompanyTimeZone as string).ToString("MM/dd/yy") @if (cert.ExpiryDate.HasValue) { @cert.ExpiryDate.Value.ToString("MM/dd/yy") } else { No expiry }
}