Skip to content

Commit 9e3e4b2

Browse files
author
Andrew Sumido
committed
Renamed IGridReader to IGridAccessor for consistency. Also, refactored into separate partials.
1 parent aa26952 commit 9e3e4b2

File tree

7 files changed

+78
-64
lines changed

7 files changed

+78
-64
lines changed

src/DataAbstractions.Dapper/DataAbstractions.Dapper.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
<PackageLicenseUrl>https://github.com/codeapologist/DataAbstractions.Dapper/blob/master/LICENSE</PackageLicenseUrl>
99
<PackageProjectUrl>https://github.com/codeapologist/DataAbstractions.Dapper</PackageProjectUrl>
1010
<PackageTags>Dapper Dapper.Contrib IDbConnection Abstraction Unit Testing Interface Testability Tests Mock</PackageTags>
11-
<PackageReleaseNotes>Added abstraction around GridReader to allow mocking. This is a breaking change for methods returning GridReader as it now returns IGridReader instead.</PackageReleaseNotes>
11+
<PackageReleaseNotes>Added abstraction around GridReader to allow mocking. This is a breaking change for methods returning GridReader as it now returns IGridAccessor instead.</PackageReleaseNotes>
1212
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>
1313
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
1414
</PropertyGroup>

src/DataAbstractions.Dapper/DataAccessor.Dapper.cs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -144,11 +144,11 @@ public Task<IEnumerable<TReturn>> QueryAsync<TFirst, TSecond, TThird, TFourth, T
144144
public Task<IEnumerable<TReturn>> QueryAsync<TReturn>(string sql, Type[] types, Func<object[], TReturn> map, object param = null, IDbTransaction transaction = null, bool buffered = true, string splitOn = "Id", int? commandTimeout = null, CommandType? commandType = null) =>
145145
_connection.QueryAsync(sql, types, map, param, transaction, buffered, splitOn, commandTimeout, commandType);
146146

147-
public async Task<IGridReader> QueryMultipleAsync(string sql, object param = null, IDbTransaction transaction = null, int? commandTimeout = null, CommandType? commandType = null) =>
148-
new GridReaderAdapter( await _connection.QueryMultipleAsync(sql, param, transaction, commandTimeout, commandType));
147+
public async Task<IGridAccessor> QueryMultipleAsync(string sql, object param = null, IDbTransaction transaction = null, int? commandTimeout = null, CommandType? commandType = null) =>
148+
new GridAccessor( await _connection.QueryMultipleAsync(sql, param, transaction, commandTimeout, commandType));
149149

150-
public async Task<IGridReader> QueryMultipleAsync(CommandDefinition command) =>
151-
new GridReaderAdapter(await _connection.QueryMultipleAsync(command));
150+
public async Task<IGridAccessor> QueryMultipleAsync(CommandDefinition command) =>
151+
new GridAccessor(await _connection.QueryMultipleAsync(command));
152152

153153
public Task<IDataReader> ExecuteReaderAsync(string sql, object param = null, IDbTransaction transaction = null, int? commandTimeout = null, CommandType? commandType = null) =>
154154
_connection.ExecuteReaderAsync(sql, param, transaction, commandTimeout, commandType);
@@ -258,11 +258,11 @@ public T QuerySingle<T>(CommandDefinition command) =>
258258
public T QuerySingleOrDefault<T>(CommandDefinition command) =>
259259
_connection.QuerySingleOrDefault<T>(command);
260260

261-
public IGridReader QueryMultiple(string sql, object param = null, IDbTransaction transaction = null, int? commandTimeout = null, CommandType? commandType = null) =>
262-
new GridReaderAdapter(_connection.QueryMultiple(sql, param, transaction, commandTimeout, commandType));
261+
public IGridAccessor QueryMultiple(string sql, object param = null, IDbTransaction transaction = null, int? commandTimeout = null, CommandType? commandType = null) =>
262+
new GridAccessor(_connection.QueryMultiple(sql, param, transaction, commandTimeout, commandType));
263263

264-
public IGridReader QueryMultiple(CommandDefinition command) =>
265-
new GridReaderAdapter(_connection.QueryMultiple(command));
264+
public IGridAccessor QueryMultiple(CommandDefinition command) =>
265+
new GridAccessor(_connection.QueryMultiple(command));
266266

267267
public IEnumerable<TReturn> Query<TFirst, TSecond, TReturn>(string sql, Func<TFirst, TSecond, TReturn> map, object param = null, IDbTransaction transaction = null, bool buffered = true, string splitOn = "Id", int? commandTimeout = null, CommandType? commandType = null) =>
268268
_connection.Query(sql, map, param, transaction, buffered, splitOn, commandTimeout, commandType);

src/DataAbstractions.Dapper/GridReaderAdapter.cs renamed to src/DataAbstractions.Dapper/GridAccessor.Reader.cs

Lines changed: 2 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,11 @@
11
using System;
22
using System.Collections.Generic;
33
using System.Data;
4-
using System.Threading.Tasks;
5-
using Dapper;
64

75
namespace DataAbstractions.Dapper
86
{
9-
public class GridReaderAdapter : IGridReader
7+
public partial class GridAccessor
108
{
11-
private readonly SqlMapper.GridReader _gridReader;
12-
13-
public GridReaderAdapter(SqlMapper.GridReader gridReader)
14-
{
15-
_gridReader = gridReader;
16-
}
17-
189
public IEnumerable<dynamic> Read(bool buffered = true) => _gridReader.Read(buffered);
1910

2011
public dynamic ReadFirst() => _gridReader.ReadFirst();
@@ -84,44 +75,5 @@ public IDbCommand Command
8475
get => _gridReader.Command;
8576
set => _gridReader.Command = value;
8677
}
87-
88-
public void Dispose()
89-
{
90-
_gridReader.Dispose();
91-
}
92-
93-
public async Task<IEnumerable<dynamic>> ReadAsync(bool buffered = true) => await _gridReader.ReadAsync(buffered);
94-
95-
public async Task<dynamic> ReadFirstAsync() => await _gridReader.ReadFirstAsync();
96-
97-
public async Task<dynamic> ReadFirstOrDefaultAsync() => await _gridReader.ReadFirstOrDefaultAsync();
98-
99-
public async Task<dynamic> ReadSingleAsync() => await _gridReader.ReadSingleAsync();
100-
101-
public async Task<dynamic> ReadSingleOrDefaultAsync() => await _gridReader.ReadSingleOrDefaultAsync();
102-
103-
public async Task<IEnumerable<object>> ReadAsync(Type type, bool buffered = true) =>
104-
await _gridReader.ReadAsync(type, buffered);
105-
106-
public async Task<object> ReadFirstAsync(Type type) => await _gridReader.ReadFirstAsync(type);
107-
108-
public async Task<object> ReadFirstOrDefaultAsync(Type type) => await _gridReader.ReadFirstOrDefaultAsync(type);
109-
110-
public async Task<object> ReadSingleAsync(Type type) => await _gridReader.ReadSingleAsync(type);
111-
112-
public async Task<object> ReadSingleOrDefaultAsync(Type type) =>
113-
await _gridReader.ReadSingleOrDefaultAsync(type);
114-
115-
public async Task<IEnumerable<T>> ReadAsync<T>(bool buffered = true) =>
116-
await _gridReader.ReadAsync<T>(buffered);
117-
118-
public async Task<T> ReadFirstAsync<T>() => await _gridReader.ReadFirstAsync<T>();
119-
120-
public async Task<T> ReadFirstOrDefaultAsync<T>() => await _gridReader.ReadFirstOrDefaultAsync<T>();
121-
122-
public async Task<T> ReadSingleAsync<T>() => await _gridReader.ReadSingleAsync<T>();
123-
124-
public async Task<T> ReadSingleOrDefaultAsync<T>() => await _gridReader.ReadSingleOrDefaultAsync<T>();
125-
12678
}
127-
}
79+
}
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Threading.Tasks;
4+
5+
namespace DataAbstractions.Dapper
6+
{
7+
8+
public partial class GridAccessor
9+
{
10+
public async Task<IEnumerable<dynamic>> ReadAsync(bool buffered = true) => await _gridReader.ReadAsync(buffered);
11+
12+
public async Task<dynamic> ReadFirstAsync() => await _gridReader.ReadFirstAsync();
13+
14+
public async Task<dynamic> ReadFirstOrDefaultAsync() => await _gridReader.ReadFirstOrDefaultAsync();
15+
16+
public async Task<dynamic> ReadSingleAsync() => await _gridReader.ReadSingleAsync();
17+
18+
public async Task<dynamic> ReadSingleOrDefaultAsync() => await _gridReader.ReadSingleOrDefaultAsync();
19+
20+
public async Task<IEnumerable<object>> ReadAsync(Type type, bool buffered = true) =>
21+
await _gridReader.ReadAsync(type, buffered);
22+
23+
public async Task<object> ReadFirstAsync(Type type) => await _gridReader.ReadFirstAsync(type);
24+
25+
public async Task<object> ReadFirstOrDefaultAsync(Type type) => await _gridReader.ReadFirstOrDefaultAsync(type);
26+
27+
public async Task<object> ReadSingleAsync(Type type) => await _gridReader.ReadSingleAsync(type);
28+
29+
public async Task<object> ReadSingleOrDefaultAsync(Type type) =>
30+
await _gridReader.ReadSingleOrDefaultAsync(type);
31+
32+
public async Task<IEnumerable<T>> ReadAsync<T>(bool buffered = true) =>
33+
await _gridReader.ReadAsync<T>(buffered);
34+
35+
public async Task<T> ReadFirstAsync<T>() => await _gridReader.ReadFirstAsync<T>();
36+
37+
public async Task<T> ReadFirstOrDefaultAsync<T>() => await _gridReader.ReadFirstOrDefaultAsync<T>();
38+
39+
public async Task<T> ReadSingleAsync<T>() => await _gridReader.ReadSingleAsync<T>();
40+
41+
public async Task<T> ReadSingleOrDefaultAsync<T>() => await _gridReader.ReadSingleOrDefaultAsync<T>();
42+
}
43+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
using Dapper;
2+
3+
namespace DataAbstractions.Dapper
4+
{
5+
public partial class GridAccessor : IGridAccessor
6+
{
7+
private readonly SqlMapper.GridReader _gridReader;
8+
9+
public GridAccessor(SqlMapper.GridReader gridReader)
10+
{
11+
_gridReader = gridReader;
12+
}
13+
14+
public void Dispose()
15+
{
16+
_gridReader.Dispose();
17+
}
18+
}
19+
}

src/DataAbstractions.Dapper/IDataAccessor.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,8 @@ public interface IDataAccessor : IDbConnection
5656
Task<IEnumerable<TReturn>> QueryAsync<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, TReturn>(string sql, Func<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, TReturn> map, object param = null, IDbTransaction transaction = null, bool buffered = true, string splitOn = "Id", int? commandTimeout = null, CommandType? commandType = null);
5757
Task<IEnumerable<TReturn>> QueryAsync<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, TReturn>(CommandDefinition command, Func<TFirst, TSecond, TThird, TFourth, TFifth, TSixth, TSeventh, TReturn> map, string splitOn = "Id");
5858
Task<IEnumerable<TReturn>> QueryAsync<TReturn>(string sql, Type[] types, Func<object[], TReturn> map, object param = null, IDbTransaction transaction = null, bool buffered = true, string splitOn = "Id", int? commandTimeout = null, CommandType? commandType = null);
59-
Task<IGridReader> QueryMultipleAsync(string sql, object param = null, IDbTransaction transaction = null, int? commandTimeout = null, CommandType? commandType = null);
60-
Task<IGridReader> QueryMultipleAsync(CommandDefinition command);
59+
Task<IGridAccessor> QueryMultipleAsync(string sql, object param = null, IDbTransaction transaction = null, int? commandTimeout = null, CommandType? commandType = null);
60+
Task<IGridAccessor> QueryMultipleAsync(CommandDefinition command);
6161
Task<IDataReader> ExecuteReaderAsync(string sql, object param = null, IDbTransaction transaction = null, int? commandTimeout = null, CommandType? commandType = null);
6262
Task<IDataReader> ExecuteReaderAsync(CommandDefinition command);
6363
Task<IDataReader> ExecuteReaderAsync(CommandDefinition command, CommandBehavior commandBehavior);
@@ -94,8 +94,8 @@ public interface IDataAccessor : IDbConnection
9494
T QueryFirstOrDefault<T>(CommandDefinition command);
9595
T QuerySingle<T>(CommandDefinition command);
9696
T QuerySingleOrDefault<T>(CommandDefinition command);
97-
IGridReader QueryMultiple(string sql, object param = null, IDbTransaction transaction = null, int? commandTimeout = null, CommandType? commandType = null);
98-
IGridReader QueryMultiple(CommandDefinition command);
97+
IGridAccessor QueryMultiple(string sql, object param = null, IDbTransaction transaction = null, int? commandTimeout = null, CommandType? commandType = null);
98+
IGridAccessor QueryMultiple(CommandDefinition command);
9999
IEnumerable<TReturn> Query<TFirst, TSecond, TReturn>(string sql, Func<TFirst, TSecond, TReturn> map, object param = null, IDbTransaction transaction = null, bool buffered = true, string splitOn = "Id", int? commandTimeout = null, CommandType? commandType = null);
100100
IEnumerable<TReturn> Query<TFirst, TSecond, TThird, TReturn>(string sql, Func<TFirst, TSecond, TThird, TReturn> map, object param = null, IDbTransaction transaction = null, bool buffered = true, string splitOn = "Id", int? commandTimeout = null, CommandType? commandType = null);
101101
IEnumerable<TReturn> Query<TFirst, TSecond, TThird, TFourth, TReturn>(string sql, Func<TFirst, TSecond, TThird, TFourth, TReturn> map, object param = null, IDbTransaction transaction = null, bool buffered = true, string splitOn = "Id", int? commandTimeout = null, CommandType? commandType = null);

src/DataAbstractions.Dapper/IGridReader.cs renamed to src/DataAbstractions.Dapper/IGridAccessor.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
namespace DataAbstractions.Dapper
77
{
8-
public interface IGridReader : IDisposable
8+
public interface IGridAccessor : IDisposable
99
{
1010
/// <summary>
1111
/// Read the next grid of results, returned as a dynamic object.

0 commit comments

Comments
 (0)