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<Book>> AddAsync(Book book);
|
||||
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