74 lines
2.6 KiB
C#
74 lines
2.6 KiB
C#
using LCU.API.Internal.LoanRateLoadTestingLib.Persistence;
|
|
using LCU.API.Internal.LoanRateLoadTestingLib.Extensions.Queryables;
|
|
using LCU.Library.Internal.LCUFilterModels.Pagination;
|
|
|
|
namespace LCU.API.Internal.LoanRateLoadTestingLib.Repositories;
|
|
|
|
public class LoadTestRunInfoRepository : BaseRepository, ILoadTestRunInfoRepository
|
|
{
|
|
public LoadTestRunInfoRepository(AppDbContext context) : base(context) { }
|
|
|
|
public async Task<IEnumerable<LoadTestRunInfo>?> FindAsync()
|
|
{
|
|
return await _context.LoadTestRunInfos.IncludeAll().ToListAsync();
|
|
}
|
|
|
|
public async Task<LoadTestRunInfo?> FindByIdAsync(int id)
|
|
{
|
|
return await _context.LoadTestRunInfos.IncludeAll().FirstOrDefaultAsync(loadTestRunInfo => loadTestRunInfo.LoadTestRunInfoId == id);
|
|
}
|
|
|
|
public async Task<IEnumerable<LoadTestRunInfo>?> FindRangeByIdAsync(List<int> ids)
|
|
{
|
|
return await _context.LoadTestRunInfos
|
|
.Where(loadTestRunInfo => ids.Contains(loadTestRunInfo.LoadTestRunInfoId))
|
|
.IncludeAll()
|
|
.ToListAsync();
|
|
}
|
|
|
|
public async Task<PagedResult<LoadTestRunInfo>> FindFilteredLoadTestRunInfosAsync(LoadTestRunInfoFilter loadTestRunInfoFilter)
|
|
{
|
|
var results = new PagedResult<LoadTestRunInfo>();
|
|
var skip = (loadTestRunInfoFilter.Page - 1) * loadTestRunInfoFilter.Limit;
|
|
|
|
results.Total = await _context.LoadTestRunInfos
|
|
.IncludeAll()
|
|
.IncludeFilters(loadTestRunInfoFilter)
|
|
.CountAsync();
|
|
|
|
results.Items = await _context.LoadTestRunInfos
|
|
.IncludeAll()
|
|
.IncludeFilters(loadTestRunInfoFilter)
|
|
.OrderBySortableFields(loadTestRunInfoFilter)
|
|
.Skip(skip)
|
|
.Take(loadTestRunInfoFilter.Limit)
|
|
.ToArrayAsync();
|
|
|
|
return results;
|
|
}
|
|
|
|
public async Task<LoadTestRunInfo?> AddAsync(LoadTestRunInfo loadTestRunInfo)
|
|
{
|
|
return (await _context.LoadTestRunInfos.AddAsync(loadTestRunInfo)).Entity;
|
|
}
|
|
|
|
public async Task AddRangeAsync(IEnumerable<LoadTestRunInfo> loadTestRunInfos)
|
|
{
|
|
await _context.LoadTestRunInfos.AddRangeAsync(loadTestRunInfos);
|
|
}
|
|
|
|
public void UpdateRange(IEnumerable<LoadTestRunInfo> loadTestRunInfos)
|
|
{
|
|
_context.LoadTestRunInfos.UpdateRange(loadTestRunInfos);
|
|
}
|
|
|
|
public void Remove(LoadTestRunInfo loadTestRunInfo)
|
|
{
|
|
_context.LoadTestRunInfos.Remove(loadTestRunInfo);
|
|
}
|
|
|
|
public void RemoveRange(IEnumerable<LoadTestRunInfo> loadTestRunInfos)
|
|
{
|
|
_context.LoadTestRunInfos.RemoveRange(loadTestRunInfos);
|
|
}
|
|
} |