diff --git a/LibraryManagement.Api/Brokers/Storages/IStorageBroker.Reader.cs b/LibraryManagement.Api/Brokers/Storages/IStorageBroker.Reader.cs index 1417f95..3e97ee5 100644 --- a/LibraryManagement.Api/Brokers/Storages/IStorageBroker.Reader.cs +++ b/LibraryManagement.Api/Brokers/Storages/IStorageBroker.Reader.cs @@ -10,5 +10,7 @@ namespace LibraryManagement.Api.Brokers.Storages public partial interface IStorageBroker { ValueTask InsertReaderAsync(Reader reader); + IQueryable SelectAllReaders(); + ValueTask SelectReaderByIdAsync(Guid readerId); } } diff --git a/LibraryManagement.Api/Brokers/Storages/StorageBroker.Reader.cs b/LibraryManagement.Api/Brokers/Storages/StorageBroker.Reader.cs index 8ae4477..b84f972 100644 --- a/LibraryManagement.Api/Brokers/Storages/StorageBroker.Reader.cs +++ b/LibraryManagement.Api/Brokers/Storages/StorageBroker.Reader.cs @@ -14,5 +14,17 @@ public partial class StorageBroker public async ValueTask InsertReaderAsync(Reader reader) => await InsertAsync(reader); + + public IQueryable SelectAllReaders() => + SelectAll().Include(readers => readers.Books); + + public async ValueTask SelectReaderByIdAsync(Guid readerId) + { + var readerWithBooks = await SelectAll() + .Include(reader => reader.Books) + .FirstOrDefaultAsync(c => c.ReaderId == readerId); + + return readerWithBooks; + } } }