Split the individual repository interfaces to their own classes.
This commit is contained in:
@@ -0,0 +1,15 @@
|
|||||||
|
using LibraryApp.Domain.Entities;
|
||||||
|
|
||||||
|
namespace LibraryApp.Domain.Repositories;
|
||||||
|
|
||||||
|
public interface IBookInstanceRepository
|
||||||
|
{
|
||||||
|
public Task<Result<BookInstance>> GetByIdAsync(BookInstanceId id);
|
||||||
|
public Task<Result<BookInstance>> GetByBarcodeAsync(BookInstanceBarcode barcode);
|
||||||
|
public Task<Result<List<BookInstance>>> GetAllByShelfIdAsync(ShelfId shelfId);
|
||||||
|
public Task<Result<List<BookInstance>>> GetAllByStatusAsync(BookInstanceStatus status);
|
||||||
|
public Task<Result<BookInstance>> UpdateAsync(BookInstance bookInstance);
|
||||||
|
public Task<Result<List<BookInstance>>> GetAllAsync(int pageNumber, int pageSize);
|
||||||
|
public Task<Result<BookInstance>> AddAsync(BookInstance bookInstance);
|
||||||
|
public Task<Result> DeleteAsync(BookInstanceId id);
|
||||||
|
}
|
||||||
@@ -9,48 +9,4 @@ public interface IBookRepository
|
|||||||
public Task<Result<List<Book>>> GetAllAsync(int pageNumber, int pageSize);
|
public Task<Result<List<Book>>> GetAllAsync(int pageNumber, int pageSize);
|
||||||
public Task<Result<Book>> AddAsync(Book book);
|
public Task<Result<Book>> AddAsync(Book book);
|
||||||
public Task<Result> DeleteAsync(BookId id);
|
public Task<Result> DeleteAsync(BookId id);
|
||||||
}
|
|
||||||
|
|
||||||
public interface IBookInstanceRepository
|
|
||||||
{
|
|
||||||
public Task<Result<BookInstance>> GetByIdAsync(BookInstanceId id);
|
|
||||||
public Task<Result<BookInstance>> GetByBarcodeAsync(BookInstanceBarcode barcode);
|
|
||||||
public Task<Result<List<BookInstance>>> GetAllByShelfIdAsync(ShelfId shelfId);
|
|
||||||
public Task<Result<List<BookInstance>>> GetAllByStatusAsync(BookInstanceStatus status);
|
|
||||||
public Task<Result<BookInstance>> UpdateAsync(BookInstance bookInstance);
|
|
||||||
public Task<Result<List<BookInstance>>> GetAllAsync(int pageNumber, int pageSize);
|
|
||||||
public Task<Result<BookInstance>> AddAsync(BookInstance bookInstance);
|
|
||||||
public Task<Result> DeleteAsync(BookInstanceId id);
|
|
||||||
}
|
|
||||||
|
|
||||||
public interface IShelfRepository
|
|
||||||
{
|
|
||||||
public Task<Result<Shelf>> GetAsync(ShelfId id);
|
|
||||||
public Task<Result<Shelf>> GetByBookInstanceBarcodeAsync(BookInstanceBarcode barcode);
|
|
||||||
public Task<Result<Shelf>> GetNextForCountAsync();
|
|
||||||
public Task<Result<Shelf>> UpdateAsync(Shelf shelf);
|
|
||||||
public Task<Result<List<Shelf>>> GetAllAsync(int pageNumber, int pageSize);
|
|
||||||
public Task<Result<Shelf>> AddAsync(Shelf shelf);
|
|
||||||
public Task<Result> DeleteAsync(ShelfId id);
|
|
||||||
}
|
|
||||||
|
|
||||||
public interface IMemberRepository
|
|
||||||
{
|
|
||||||
public Task<Result<Member>> GetAsync(MemberId id);
|
|
||||||
public Task<Result<Member>> UpdateAsync(Member member);
|
|
||||||
public Task<Result<List<Member>>> GetAllAsync(int pageNumber, int pageSize);
|
|
||||||
public Task<Result<Member>> AddAsync(Member member);
|
|
||||||
public Task<Result> DeleteAsync(MemberId id);
|
|
||||||
}
|
|
||||||
|
|
||||||
public interface ILendRecordRepository
|
|
||||||
{
|
|
||||||
public Task<Result<LendRecord>> GetAsync(LendRecordId id);
|
|
||||||
public Task<Result<List<LendRecord>>> GetAllByMemberIdAsync(MemberId memberId);
|
|
||||||
public Task<Result<LendRecord?>> GetActiveByBookInstanceIdAsync(BookInstanceId bookInstanceId);
|
|
||||||
public Task<bool> ExistsWithCodeAsync(LendCode code);
|
|
||||||
public Task<Result<LendRecord>> UpdateAsync(LendRecord lendRecord);
|
|
||||||
public Task<Result<List<LendRecord>>> GetAllAsync(int pageNumber, int pageSize);
|
|
||||||
public Task<Result<LendRecord>> AddAsync(LendRecord lendRecord);
|
|
||||||
public Task<Result> DeleteAsync(LendRecordId id);
|
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
using LibraryApp.Domain.Entities;
|
||||||
|
|
||||||
|
namespace LibraryApp.Domain.Repositories;
|
||||||
|
|
||||||
|
public interface ILendRecordRepository
|
||||||
|
{
|
||||||
|
public Task<Result<LendRecord>> GetAsync(LendRecordId id);
|
||||||
|
public Task<Result<List<LendRecord>>> GetAllByMemberIdAsync(MemberId memberId);
|
||||||
|
public Task<Result<LendRecord?>> GetActiveByBookInstanceIdAsync(BookInstanceId bookInstanceId);
|
||||||
|
public Task<bool> ExistsWithCodeAsync(LendCode code);
|
||||||
|
public Task<Result<LendRecord>> UpdateAsync(LendRecord lendRecord);
|
||||||
|
public Task<Result<List<LendRecord>>> GetAllAsync(int pageNumber, int pageSize);
|
||||||
|
public Task<Result<LendRecord>> AddAsync(LendRecord lendRecord);
|
||||||
|
public Task<Result> DeleteAsync(LendRecordId id);
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
using LibraryApp.Domain.Entities;
|
||||||
|
|
||||||
|
namespace LibraryApp.Domain.Repositories;
|
||||||
|
|
||||||
|
public interface IMemberRepository
|
||||||
|
{
|
||||||
|
public Task<Result<Member>> GetAsync(MemberId id);
|
||||||
|
public Task<Result<Member>> UpdateAsync(Member member);
|
||||||
|
public Task<Result<List<Member>>> GetAllAsync(int pageNumber, int pageSize);
|
||||||
|
public Task<Result<Member>> AddAsync(Member member);
|
||||||
|
public Task<Result> DeleteAsync(MemberId id);
|
||||||
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
using LibraryApp.Domain.Entities;
|
||||||
|
|
||||||
|
namespace LibraryApp.Domain.Repositories;
|
||||||
|
|
||||||
|
public interface IShelfRepository
|
||||||
|
{
|
||||||
|
public Task<Result<Shelf>> GetAsync(ShelfId id);
|
||||||
|
public Task<Result<Shelf>> GetByBookInstanceBarcodeAsync(BookInstanceBarcode barcode);
|
||||||
|
public Task<Result<Shelf>> GetNextForCountAsync();
|
||||||
|
public Task<Result<Shelf>> UpdateAsync(Shelf shelf);
|
||||||
|
public Task<Result<List<Shelf>>> GetAllAsync(int pageNumber, int pageSize);
|
||||||
|
public Task<Result<Shelf>> AddAsync(Shelf shelf);
|
||||||
|
public Task<Result> DeleteAsync(ShelfId id);
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user