From c2ccd32f397d108e0031106d080fd0966f7c0ea7 Mon Sep 17 00:00:00 2001 From: masoodafar-web Date: Mon, 16 Feb 2026 22:52:33 +0330 Subject: [PATCH] fix: use DateTime.Now instead of UtcNow in ExpirePendingOrdersService Database stores Created timestamps using DateTime.Now (local time). Background service was comparing with DateTime.UtcNow causing 3.5 hour offset (Iran timezone). Orders would only expire after ~4 hours instead of 30 minutes. --- .../BackgroundServices/ExpirePendingOrdersService.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/CMSMicroservice.Infrastructure/BackgroundServices/ExpirePendingOrdersService.cs b/src/CMSMicroservice.Infrastructure/BackgroundServices/ExpirePendingOrdersService.cs index a059bc4..54df5f1 100644 --- a/src/CMSMicroservice.Infrastructure/BackgroundServices/ExpirePendingOrdersService.cs +++ b/src/CMSMicroservice.Infrastructure/BackgroundServices/ExpirePendingOrdersService.cs @@ -60,7 +60,7 @@ public class ExpirePendingOrdersService : BackgroundService var context = scope.ServiceProvider.GetRequiredService(); var inventoryService = scope.ServiceProvider.GetRequiredService(); - var cutoff = DateTime.UtcNow - ExpirationTime; + var cutoff = DateTime.Now - ExpirationTime; // پیدا کردن سفارشات Pending قدیمی var expiredOrders = await context.DiscountOrders