From e1310be988226a108263f5863461bc66fd46787c Mon Sep 17 00:00:00 2001 From: KharchenkoVV Date: Mon, 16 Aug 2021 14:16:44 +0500 Subject: [PATCH] Added default predicate to CacheTable.Where() method --- .../Services/Cache/CacheTable.cs | 27 ++++++++++++------- .../Services/MessageService.cs | 4 +-- .../Services/TelemetryAnalyticsService.cs | 2 +- 3 files changed, 21 insertions(+), 12 deletions(-) diff --git a/AsbCloudInfrastructure/Services/Cache/CacheTable.cs b/AsbCloudInfrastructure/Services/Cache/CacheTable.cs index f93d89d5..db0aee2e 100644 --- a/AsbCloudInfrastructure/Services/Cache/CacheTable.cs +++ b/AsbCloudInfrastructure/Services/Cache/CacheTable.cs @@ -141,29 +141,38 @@ namespace AsbCloudInfrastructure.Services.Cache return result; } - public Task> SelectAsync(Func predicate, CancellationToken token = default) - => SelectAsync(predicate, RefreshMode.IfResultEmpty, token); + public Task> WhereAsync(Func predicate, CancellationToken token = default) + => WhereAsync(predicate, RefreshMode.IfResultEmpty, token); - public IEnumerable Select(Func predicate, RefreshMode refreshMode = RefreshMode.IfResultEmpty) + public IEnumerable Where(Func predicate = default, RefreshMode refreshMode = RefreshMode.IfResultEmpty) { bool isUpdated = CheckRefresh(refreshMode); - var result = cached.Where(predicate); + var result = (predicate != default) + ? cached.Where(predicate) + : cached; if (!result.Any() && refreshMode == RefreshMode.IfResultEmpty && !isUpdated) { Refresh(); - return cached.Where(predicate); + result = (predicate != default) + ? cached.Where(predicate) + : cached; } return result; } - public async Task> SelectAsync(Func predicate, RefreshMode refreshMode = RefreshMode.IfResultEmpty, CancellationToken token = default) + public async Task> WhereAsync(Func predicate = default, + RefreshMode refreshMode = RefreshMode.IfResultEmpty, CancellationToken token = default) { - bool isUpdated = await CheckRefreshAsync(refreshMode, token); - var result = cached.Where(predicate); + bool isUpdated = await CheckRefreshAsync(refreshMode, token); + var result = (predicate != default) + ? cached.Where(predicate) + : cached; if (!result.Any() && refreshMode == RefreshMode.IfResultEmpty && !isUpdated) { await RefreshAsync(token); - return cached.Where(predicate); + result = (predicate != default) + ? cached.Where(predicate) + : cached; } return result; } diff --git a/AsbCloudInfrastructure/Services/MessageService.cs b/AsbCloudInfrastructure/Services/MessageService.cs index f85d0003..377c6bfb 100644 --- a/AsbCloudInfrastructure/Services/MessageService.cs +++ b/AsbCloudInfrastructure/Services/MessageService.cs @@ -41,7 +41,7 @@ namespace AsbCloudInfrastructure.Services if (telemetryId is null) return null; - var events = cacheEvents.Select(e => e.IdTelemetry == telemetryId); + var events = cacheEvents.Where(e => e.IdTelemetry == telemetryId); if (!events.Any()) return null; @@ -89,7 +89,7 @@ namespace AsbCloudInfrastructure.Services if (messagesList.Count == 0) return result; - var users = cacheTUsers.Select(u => u.IdTelemetry == telemetryId); + var users = cacheTUsers.Where(u => u.IdTelemetry == telemetryId); foreach (var message in messagesList) { diff --git a/AsbCloudInfrastructure/Services/TelemetryAnalyticsService.cs b/AsbCloudInfrastructure/Services/TelemetryAnalyticsService.cs index bbccbc42..fcb604d3 100644 --- a/AsbCloudInfrastructure/Services/TelemetryAnalyticsService.cs +++ b/AsbCloudInfrastructure/Services/TelemetryAnalyticsService.cs @@ -28,7 +28,7 @@ namespace AsbCloudInfrastructure.Services this.telemetryService = telemetryService; this.saubDataCache = saubDataCache; cacheOperations = cacheDb.GetCachedTable((AsbCloudDbContext)db); - operations = cacheOperations.Select(c => true); + operations = cacheOperations.Where(c => true); operationDetectorService = new TelemetryOperationDetectorService(operations); }