@using Microsoft.AspNetCore.Routing
@using Microsoft.AspNetCore.Mvc.TagHelpers
@using BTCPayServer.Models
@using BTCPayServer.Services
@using BTCPayServer.Abstractions.Extensions
@using BTCPayServer.Plugins.Subscriptions
@inject DisplayFormatter DisplayFormatter
@model BTCPayServer.Plugins.Subscriptions.SubscriptionAppSettings
@{
var appId = Context.GetRouteValue("appId");
var subscriptionId = Context.GetRouteValue("id") as string;
var subscription = Model.Subscriptions[subscriptionId!];
StoreBrandingViewModel storeBranding = (StoreBrandingViewModel) ViewData["StoreBranding"];
Layout = null;
}
@Model.GetSubscriptionHumanReadableLength() subscription for @DisplayFormatter.Currency(Model.Price, Model.Currency)
@subscription.Status
@if (subscription.Status == SubscriptionStatus.Inactive)
{
Reactivate
}
@if (!string.IsNullOrEmpty(Model.Description))
{
@Safe.Raw(Model.Description)
}
@if (subscription.Payments?.Any() is not true)
{
No payments have been made yet.
}
else
{
| Payment Request Id |
Period |
Settled |
@foreach (var payment in subscription.Payments)
{
var isThisPeriodActive = payment.PeriodStart <= DateTimeOffset.UtcNow && payment.PeriodEnd >= DateTimeOffset.UtcNow;
var isThisPeriodFuture = payment.PeriodStart > DateTimeOffset.UtcNow;
|
|
@payment.PeriodStart.ToBrowserDate() - @payment.PeriodEnd.ToBrowserDate()
@if (payment.Settled && isThisPeriodActive)
{
Active
}
@if (isThisPeriodFuture)
{
Next period
}
|
@if (payment.Settled)
{
Settled
}
else
{
Not settled
}
|
}
}