Skip to content

Commit b46ebc2

Browse files
Merge pull request #359 from johelvisguzman/cache
Simplified the logic of getting a caching result
2 parents 2d6e89d + 3cd29ea commit b46ebc2

File tree

1 file changed

+7
-13
lines changed

1 file changed

+7
-13
lines changed

src/DotNetToolkit.Repository/Extensions/CachingProviderExtensions.cs

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
/// </summary>
2020
internal static class CachingProviderExtensions
2121
{
22-
private static bool TryGetValue<T>(this ICacheProvider cacheProvider, string key, out T value)
22+
private static bool TryGetValue<T>(this ICacheProvider cacheProvider, string key, out QueryResult<T> value)
2323
{
2424
if (cacheProvider == null)
2525
throw new ArgumentNullException(nameof(cacheProvider));
@@ -29,12 +29,14 @@ private static bool TryGetValue<T>(this ICacheProvider cacheProvider, string key
2929

3030
if (!cacheProvider.Cache.TryGetValue(key, out var obj))
3131
{
32-
value = default(T);
32+
value = default(QueryResult<T>);
3333

3434
return false;
3535
}
3636

37-
value = (T)obj;
37+
value = (QueryResult<T>)obj;
38+
39+
value.CacheUsed = true;
3840

3941
return true;
4042
}
@@ -87,16 +89,12 @@ private static QueryResult<T> GetOrSet<T>(this ICacheProvider cacheProvider, str
8789

8890
var hashedKey = FormatHashKey(key);
8991

90-
if (!cacheProvider.TryGetValue<QueryResult<T>>(hashedKey, out var value))
92+
if (!cacheProvider.TryGetValue<T>(hashedKey, out var value))
9193
{
9294
value = getter();
9395

9496
cacheProvider.SetValue(hashedKey, key, value, priority, cacheExpiration, logger);
9597
}
96-
else
97-
{
98-
value.CacheUsed = true;
99-
}
10098

10199
return value;
102100
}
@@ -243,16 +241,12 @@ private static async Task<QueryResult<T>> GetOrSetAsync<T>(this ICacheProvider c
243241

244242
var hashedKey = FormatHashKey(key);
245243

246-
if (!cacheProvider.TryGetValue<QueryResult<T>>(hashedKey, out var value))
244+
if (!cacheProvider.TryGetValue<T>(hashedKey, out var value))
247245
{
248246
value = await getter();
249247

250248
cacheProvider.SetValue(hashedKey, key, value, priority, cacheExpiration, logger);
251249
}
252-
else
253-
{
254-
value.CacheUsed = true;
255-
}
256250

257251
return value;
258252
}

0 commit comments

Comments
 (0)