Commit remaining unstaged changes from this session
- Platform settings service: IPlatformSettingsService, PlatformSettingKeys, PlatformSettingsService, SubscriptionService, AppConstants, SubscriptionExpiryBackgroundService, SubscriptionMiddleware - JobTimeEntry entity, DTOs, AutoMapper profile (ShopWorker → UserId migration) - InventoryDtos: SourceTransactionId on PowderUsageLogDto - InventoryTransactionRepository: include Job.Customer in ledger query - InventoryAiLookupService: @graph unwrap + HTML price fallback - ApplicationDbContextModelSnapshot: reflect migration changes - launchSettings.json, publish profile Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,3 +1,5 @@
|
||||
using PowderCoating.Application.Interfaces;
|
||||
using PowderCoating.Core.Entities;
|
||||
using PowderCoating.Core.Interfaces;
|
||||
using PowderCoating.Shared.Constants;
|
||||
|
||||
@@ -152,7 +154,16 @@ public class SubscriptionMiddleware
|
||||
var daysUntil = subscriptionService.DaysUntilExpiry(company);
|
||||
if (daysUntil != null)
|
||||
{
|
||||
if (daysUntil < -AppConstants.SubscriptionConstants.GracePeriodDays)
|
||||
var platformSettings = context.RequestServices.GetRequiredService<IPlatformSettingsService>();
|
||||
var isTrial = string.IsNullOrEmpty(company.StripeSubscriptionId);
|
||||
var graceDays = 0;
|
||||
if (!isTrial || await platformSettings.GetBoolAsync(PlatformSettingKeys.GracePeriodAppliesToTrials))
|
||||
{
|
||||
graceDays = await platformSettings.GetIntAsync(
|
||||
PlatformSettingKeys.GracePeriodDays,
|
||||
AppConstants.SubscriptionConstants.GracePeriodDays);
|
||||
}
|
||||
if (daysUntil < -graceDays)
|
||||
{
|
||||
// Past grace period — hard lockout
|
||||
context.Response.Redirect("/Billing/Expired");
|
||||
|
||||
Reference in New Issue
Block a user