Skip to content

Commit d272940

Browse files
committed
bugfix
1 parent a2d0e16 commit d272940

File tree

4 files changed

+18
-7
lines changed

4 files changed

+18
-7
lines changed

src/Datory/Repository.Generic.Select.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,12 @@ public virtual async Task<int> CountAsync(Query query = null)
6161

6262
public virtual async Task<int> SumAsync(string columnName, Query query = null)
6363
{
64-
return await RepositoryUtils.SumAsync(Database, TableName, Redis, columnName, query);
64+
return await RepositoryUtils.SumValueAsync<int>(Database, TableName, Redis, columnName, query);
65+
}
66+
67+
public virtual async Task<TValue> SumAsync<TValue>(string columnName, Query query = null)
68+
{
69+
return await RepositoryUtils.SumValueAsync<TValue>(Database, TableName, Redis, columnName, query);
6570
}
6671

6772
public virtual async Task<int?> MaxAsync(string columnName, Query query = null)

src/Datory/Repository.NonGeneric.Select.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,12 @@ public virtual async Task<int> CountAsync(Query query = null)
6666

6767
public virtual async Task<int> SumAsync(string columnName, Query query = null)
6868
{
69-
return await RepositoryUtils.SumAsync(Database, TableName, Redis, columnName, query);
69+
return await RepositoryUtils.SumValueAsync<int>(Database, TableName, Redis, columnName, query);
70+
}
71+
72+
public virtual async Task<TValue> SumAsync<TValue>(string columnName, Query query = null)
73+
{
74+
return await RepositoryUtils.SumValueAsync<TValue>(Database, TableName, Redis, columnName, query);
7075
}
7176

7277
public virtual async Task<int?> MaxAsync(string columnName, Query query = null)

src/Datory/Utils/RepositoryUtils.Select.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ private static async Task<int> _CountAsync(IDatabase database, CompileInfo compi
6060
return await connection.ExecuteScalarAsync<int>(compileInfo.Sql, compileInfo.NamedBindings);
6161
}
6262

63-
public static async Task<int> SumAsync(IDatabase database, string tableName, IRedis redis, string columnName, Query query = null)
63+
public static async Task<TValue> SumValueAsync<TValue>(IDatabase database, string tableName, IRedis redis, string columnName, Query query = null)
6464
{
6565
var xQuery = NewQuery(tableName, query);
6666
xQuery.AsSum(columnName);
@@ -70,17 +70,17 @@ public static async Task<int> SumAsync(IDatabase database, string tableName, IRe
7070
{
7171
var cacheManager = await CachingUtils.GetCacheManagerAsync(redis);
7272
return await cacheManager.GetOrCreateAsync(compileInfo.Caching.CacheKey,
73-
async () => await _SumAsync(database, compileInfo)
73+
async () => await _SumValueAsync<TValue>(database, compileInfo)
7474
);
7575
}
7676

77-
return await _SumAsync(database, compileInfo);
77+
return await _SumValueAsync<TValue>(database, compileInfo);
7878
}
7979

80-
private static async Task<int> _SumAsync(IDatabase database, CompileInfo compileInfo)
80+
private static async Task<TValue> _SumValueAsync<TValue>(IDatabase database, CompileInfo compileInfo)
8181
{
8282
using var connection = database.GetConnection();
83-
return await connection.ExecuteScalarAsync<int>(compileInfo.Sql, compileInfo.NamedBindings);
83+
return await connection.ExecuteScalarAsync<TValue>(compileInfo.Sql, compileInfo.NamedBindings);
8484
}
8585

8686
public static async Task<TValue> GetValueAsync<TValue>(IDatabase database, string tableName, IRedis redis, Query query)

src/SSCMS.Web/Startup.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
using SSCMS.Repositories;
3333
using SSCMS.Services;
3434
using SSCMS.Utils;
35+
using Constants = SSCMS.Configuration.Constants;
3536

3637
namespace SSCMS.Web
3738
{

0 commit comments

Comments
 (0)