public async Task HandleSubscriptionsAsync() { var userSubscriptions = await _uow.UserSubscriptionRepository.GetAll() .Include(us => us.Subscription) .ToListAsync(); var today = DateTime.UtcNow; var tomorrow = today.AddDays(1); foreach (var userSubscription in userSubscriptions) { if (userSubscription.IsActive && userSubscription.ValidAt.Date == tomorrow.Date) { await _subscriptionService.NotifySubscriptionAboutToExpireAsync(userSubscription.Id); } else if (userSubscription.IsActive && userSubscription.ValidAt.Date < today.Date) { await _subscriptionService.DisableUserSubscriptionAsync(userSubscription.Id); } } }