This commit is contained in:
Zeeshaun
2026-04-07 14:21:04 -05:00
parent e37826fe30
commit 75ea216a17
264 changed files with 15920 additions and 0 deletions
@@ -0,0 +1,12 @@
using LCU.API.Internal.LoanRateLoadTestingLib.Persistence;
namespace LCU.API.Internal.LoanRateLoadTestingLib.Repositories;
public abstract class BaseRepository
{
protected readonly AppDbContext _context;
public BaseRepository(AppDbContext context)
{
_context = context;
}
}
@@ -0,0 +1,16 @@
using LCU.Library.Internal.LCUFilterModels.Pagination;
namespace LCU.API.Internal.LoanRateLoadTestingLib.Repositories;
public interface ILoadTestRunInfoRepository
{
Task<IEnumerable<LoadTestRunInfo>?> FindAsync();
Task<LoadTestRunInfo?> FindByIdAsync(int id);
Task<IEnumerable<LoadTestRunInfo>?> FindRangeByIdAsync(List<int> ids);
Task<PagedResult<LoadTestRunInfo>> FindFilteredLoadTestRunInfosAsync(LoadTestRunInfoFilter loadTestRunInfoFilter);
Task<LoadTestRunInfo?> AddAsync(LoadTestRunInfo loadTestRunInfo);
Task AddRangeAsync(IEnumerable<LoadTestRunInfo> loadTestRunInfos);
void UpdateRange(IEnumerable<LoadTestRunInfo> loadTestRunInfos);
void Remove(LoadTestRunInfo loadTestRunInfo);
void RemoveRange(IEnumerable<LoadTestRunInfo> loadTestRunInfos);
}
@@ -0,0 +1,14 @@
namespace LCU.API.Internal.LoanRateLoadTestingLib.Repositories;
public interface IRateProcessingInfoRepository
{
Task<IEnumerable<RateProcessingInfo>?> FindAsync();
Task<RateProcessingInfo?> FindByIdAsync(int id);
Task<IEnumerable<RateProcessingInfo>?> FindRangeByIdAsync(List<int> ids);
Task<IEnumerable<RateProcessingInfo>?> FindByLoadTestRunInfoIdAsync(int loadTestRunInfoId);
Task<RateProcessingInfo?> AddAsync(RateProcessingInfo rateProcessingInfo);
Task AddRangeAsync(IEnumerable<RateProcessingInfo> rateProcessingInfos);
void UpdateRange(IEnumerable<RateProcessingInfo> rateProcessingInfos);
void Remove(RateProcessingInfo rateProcessingInfo);
void RemoveRange(IEnumerable<RateProcessingInfo> rateProcessingInfos);
}
@@ -0,0 +1,7 @@
namespace LCU.API.Internal.LoanRateLoadTestingLib.Repositories;
public interface IUnitOfWork
{
Task CompleteAsync();
void Complete();
}
@@ -0,0 +1,74 @@
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);
}
}
@@ -0,0 +1,56 @@
using LCU.API.Internal.LoanRateLoadTestingLib.Persistence;
namespace LCU.API.Internal.LoanRateLoadTestingLib.Repositories;
public class RateProcessingInfoRepository : BaseRepository, IRateProcessingInfoRepository
{
public RateProcessingInfoRepository(AppDbContext context) : base(context) { }
public async Task<IEnumerable<RateProcessingInfo>?> FindAsync()
{
return await _context.RateProcessingInfos.ToListAsync();
}
public async Task<RateProcessingInfo?> FindByIdAsync(int id)
{
return await _context.RateProcessingInfos.FirstOrDefaultAsync(rateProcessingInfo => rateProcessingInfo.RateProcessingInfoId == id);
}
public async Task<IEnumerable<RateProcessingInfo>?> FindRangeByIdAsync(List<int> ids)
{
return await _context.RateProcessingInfos
.Where(rateProcessingInfo => ids.Contains(rateProcessingInfo.RateProcessingInfoId))
.ToListAsync();
}
public async Task<IEnumerable<RateProcessingInfo>?> FindByLoadTestRunInfoIdAsync(int loadTestRunInfoId)
{
return await _context.RateProcessingInfos
.Where(rateProcessingInfo => rateProcessingInfo.LoadTestRunInfoId == loadTestRunInfoId)
.ToListAsync();
}
public async Task<RateProcessingInfo?> AddAsync(RateProcessingInfo rateProcessingInfo)
{
return (await _context.RateProcessingInfos.AddAsync(rateProcessingInfo)).Entity;
}
public async Task AddRangeAsync(IEnumerable<RateProcessingInfo> rateProcessingInfos)
{
await _context.RateProcessingInfos.AddRangeAsync(rateProcessingInfos);
}
public void UpdateRange(IEnumerable<RateProcessingInfo> rateProcessingInfos)
{
_context.RateProcessingInfos.UpdateRange(rateProcessingInfos);
}
public void Remove(RateProcessingInfo rateProcessingInfo)
{
_context.RateProcessingInfos.Remove(rateProcessingInfo);
}
public void RemoveRange(IEnumerable<RateProcessingInfo> rateProcessingInfos)
{
_context.RateProcessingInfos.RemoveRange(rateProcessingInfos);
}
}
@@ -0,0 +1,22 @@
using LCU.API.Internal.LoanRateLoadTestingLib.Persistence;
namespace LCU.API.Internal.LoanRateLoadTestingLib.Repositories;
public class UnitOfWork : IUnitOfWork
{
private readonly AppDbContext _context;
public UnitOfWork(AppDbContext context)
{
_context = context;
}
public async Task CompleteAsync()
{
await _context.SaveChangesAsync();
}
public void Complete()
{
_context.SaveChanges();
}
}