Adding
This commit is contained in:
+34
@@ -0,0 +1,34 @@
|
||||
using ReserveManagementSystemApi.Services;
|
||||
using ReserveManagementSystemLib.Models;
|
||||
|
||||
namespace ReserveManagementSystemApi.Controllers
|
||||
{
|
||||
[Route("api/[controller]")]
|
||||
[ApiController]
|
||||
public class AuditHistoryController : ControllerBase
|
||||
{
|
||||
private readonly IAuditHistoryService _auditHistoryService;
|
||||
|
||||
public AuditHistoryController(IAuditHistoryService auditHistoryService)
|
||||
{
|
||||
_auditHistoryService = auditHistoryService;
|
||||
}
|
||||
|
||||
[HttpGet(Name = "GetAllHistory")]
|
||||
[ProducesResponseType(typeof(IEnumerable<AuditHistory>), 200)]
|
||||
[ProducesResponseType(500)]
|
||||
public async Task<IActionResult> Get()
|
||||
{
|
||||
try
|
||||
{
|
||||
var result = await _auditHistoryService.GetAllAsync();
|
||||
return Ok(result);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Log.Error(e, "Failure returning Audit Histories");
|
||||
return StatusCode(StatusCodes.Status500InternalServerError);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+51
@@ -0,0 +1,51 @@
|
||||
using ReserveManagementSystemApi.Services;
|
||||
using ReserveManagementSystemLib.Models;
|
||||
|
||||
namespace ReserveManagementSystemApi.Controllers
|
||||
{
|
||||
[Route("api/[controller]")]
|
||||
[ApiController]
|
||||
public class DealerController : ControllerBase
|
||||
{
|
||||
private readonly IDealerService _dealerService;
|
||||
|
||||
public DealerController(IDealerService dealerService)
|
||||
{
|
||||
_dealerService = dealerService;
|
||||
}
|
||||
|
||||
[HttpGet("Search/{dealerSearchText}", Name = "Search")]
|
||||
[ProducesResponseType(typeof(IEnumerable<Dealer>), 200)]
|
||||
[ProducesResponseType(500)]
|
||||
public async Task<IActionResult> Search(string dealerSearchText)
|
||||
{
|
||||
try
|
||||
{
|
||||
var result = await _dealerService.Search(dealerSearchText);
|
||||
return Ok(result);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Log.Error(e, "Failure returning dealers");
|
||||
return StatusCode(StatusCodes.Status500InternalServerError);
|
||||
}
|
||||
}
|
||||
|
||||
[HttpGet("GetByDealerCode/{dealerCode}", Name = "GetDealerByCode")]
|
||||
[ProducesResponseType(typeof(Dealer), 200)]
|
||||
[ProducesResponseType(500)]
|
||||
public async Task<IActionResult> GetByDealerCode(string dealerCode)
|
||||
{
|
||||
try
|
||||
{
|
||||
var result = await _dealerService.GetDealerByCodeAsync(dealerCode);
|
||||
return Ok(result);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Log.Error(e, "Failure returning dealer");
|
||||
return StatusCode(StatusCodes.Status500InternalServerError);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+183
@@ -0,0 +1,183 @@
|
||||
using ReserveManagementSystemApi.Models;
|
||||
using ReserveManagementSystemApi.Services;
|
||||
using ReserveManagementSystemApi.Services.QueueServices;
|
||||
using ReserveManagementSystemLib.Models;
|
||||
|
||||
namespace ReserveManagementSystemApi.Controllers
|
||||
{
|
||||
[Route("api/[controller]")]
|
||||
[ApiController]
|
||||
public class ImportController : ControllerBase
|
||||
{
|
||||
private readonly IImportReadService _importReadService;
|
||||
private readonly IImportService _importService;
|
||||
private readonly IQueueRmsActiveLoanService _queueRmsActiveLoanService;
|
||||
|
||||
public ImportController(IImportReadService importReadService, IImportService importService, IQueueRmsActiveLoanService queueRmsActiveLoanService)
|
||||
{
|
||||
_importReadService = importReadService;
|
||||
_importService = importService;
|
||||
_queueRmsActiveLoanService = queueRmsActiveLoanService;
|
||||
}
|
||||
|
||||
[HttpGet(Name = "GetAllImports")]
|
||||
[ProducesResponseType(typeof(IEnumerable<Import>), 200)]
|
||||
[ProducesResponseType(500)]
|
||||
public async Task<IActionResult> Get()
|
||||
{
|
||||
try
|
||||
{
|
||||
var result = await _importService.GetAllAsync();
|
||||
return Ok(result);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Log.Error(e, "Failure returning Imports");
|
||||
return StatusCode(StatusCodes.Status500InternalServerError);
|
||||
}
|
||||
}
|
||||
|
||||
[HttpGet("GetRecentImports/{numberOfImports}", Name = "GetRecentImports")]
|
||||
[ProducesResponseType(typeof(IEnumerable<Import>), 200)]
|
||||
[ProducesResponseType(500)]
|
||||
public async Task<IActionResult> GetRecent(int numberOfImports)
|
||||
{
|
||||
try
|
||||
{
|
||||
var result = await _importService.GetRecentAsync(numberOfImports);
|
||||
return Ok(result);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Log.Error(e, "Failure returning Imports");
|
||||
return StatusCode(StatusCodes.Status500InternalServerError);
|
||||
}
|
||||
}
|
||||
|
||||
[HttpGet("GetById/{importId}", Name = "GetImportById")]
|
||||
[ProducesResponseType(typeof(Loan), 200)]
|
||||
[ProducesResponseType(500)]
|
||||
public async Task<IActionResult> GetById(int importId)
|
||||
{
|
||||
try
|
||||
{
|
||||
var result = await _importService.GetByIdAsync(importId);
|
||||
return Ok(result);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Log.Error(e, $"Failure returning loan with id {importId}");
|
||||
return StatusCode(StatusCodes.Status500InternalServerError);
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost("ImportNewLoanFile", Name ="ImportNewLoanFile")]
|
||||
[ProducesResponseType(typeof(Import), 200)]
|
||||
[ProducesResponseType(500)]
|
||||
public async Task<IActionResult> ImportNewLoanFile(IFormFile file)
|
||||
{
|
||||
try
|
||||
{
|
||||
var stream = new StreamReader(file.OpenReadStream());
|
||||
var import = await _importReadService.ReadNewLoanImportFile(stream, file.FileName, DateTime.Now);
|
||||
return Ok(import);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Log.Error("Failure to import new loan file, message: {0} {1}", e.Message, e.StackTrace);
|
||||
return StatusCode(StatusCodes.Status500InternalServerError);
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost("ImportBoatLoanFile", Name = "ImportBoatLoanFile")]
|
||||
[ProducesResponseType(typeof(List<ImportBoatLoan>), 200)]
|
||||
[ProducesResponseType(500)]
|
||||
public async Task<IActionResult> ImportBoatLoanFile(IFormFile file)
|
||||
{
|
||||
try
|
||||
{
|
||||
var stream = new StreamReader(file.OpenReadStream());
|
||||
var import = await _importReadService.ReadBoatLoanImportFile(stream);
|
||||
return Ok(import);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Log.Error("Failure to import boat loan file, message: {0} {1}", e.Message, e.StackTrace);
|
||||
return StatusCode(StatusCodes.Status500InternalServerError);
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost("ImportClosedLoanFile", Name = "ImportClosedLoanFile")]
|
||||
[ProducesResponseType(typeof(Import), 200)]
|
||||
[ProducesResponseType(500)]
|
||||
public async Task<IActionResult> ImportClosedLoanFile(IFormFile file)
|
||||
{
|
||||
try
|
||||
{
|
||||
var stream = new StreamReader(file.OpenReadStream());
|
||||
var import = await _importReadService.ReadClosedLoanImportFile(stream, file.FileName, DateTime.Now);
|
||||
return Ok(import);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Log.Error("Failure to import closed loan file, message: {0} {1}", e.Message, e.StackTrace);
|
||||
return StatusCode(StatusCodes.Status500InternalServerError);
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPut("ImportActiveLoans", Name = "ImportActiveLoans")]
|
||||
[ProducesResponseType(typeof(Import), 200)]
|
||||
[ProducesResponseType(500)]
|
||||
public async Task<IActionResult> ImportActiveLoans(string? newerThanDateTime = "", bool skipExport = false)
|
||||
{
|
||||
try
|
||||
{
|
||||
var request = new RmsActiveImportRequest()
|
||||
{
|
||||
ImportDateTime = newerThanDateTime,
|
||||
SkipExport = skipExport
|
||||
};
|
||||
await _queueRmsActiveLoanService.QueueRmsActiveLoanServiceRequest(request);
|
||||
return Accepted();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Log.Error(ex, $"Failure importing Active Loans");
|
||||
return StatusCode(StatusCodes.Status500InternalServerError);
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPut("ImportClosedLoans", Name = "ImportClosedLoans")]
|
||||
[ProducesResponseType(typeof(Import), 200)]
|
||||
[ProducesResponseType(500)]
|
||||
public async Task<IActionResult> ImportClosedLoans(string? newerThanDateTime)
|
||||
{
|
||||
try
|
||||
{
|
||||
var import = await _importReadService.ImportClosedLoansFromDNA(newerThanDateTime);
|
||||
return Ok(import);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Log.Error(ex, $"Failure importing Closed Loans");
|
||||
return StatusCode(StatusCodes.Status500InternalServerError);
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPut("ImportClosedLoansWithUpdates", Name = "ImportClosedLoansWithUpdates")]
|
||||
[ProducesResponseType(typeof(Import), 200)]
|
||||
[ProducesResponseType(500)]
|
||||
public async Task<IActionResult> ImportClosedLoansWithUpdates(string? newerThanDateTime, bool skipExport = false)
|
||||
{
|
||||
try
|
||||
{
|
||||
var import = await _importReadService.ImportClosedLoansWithUpdatesFromDNA(newerThanDateTime, skipExport);
|
||||
return Ok(import);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return StatusCode(StatusCodes.Status500InternalServerError);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+146
@@ -0,0 +1,146 @@
|
||||
using ReserveManagementSystemApi.Services;
|
||||
using ReserveManagementSystemLib.Models;
|
||||
|
||||
namespace ReserveManagementSystemApi.Controllers
|
||||
{
|
||||
[Route("api/[controller]")]
|
||||
[ApiController]
|
||||
public class LoanController : ControllerBase
|
||||
{
|
||||
private readonly ILoanService _loanService;
|
||||
public LoanController(ILoanService loanService)
|
||||
{
|
||||
_loanService = loanService;
|
||||
}
|
||||
|
||||
[HttpGet(Name = "GetAllLoans")]
|
||||
[ProducesResponseType(typeof(IEnumerable<Loan>), 200)]
|
||||
[ProducesResponseType(500)]
|
||||
public async Task<IActionResult> Get()
|
||||
{
|
||||
try
|
||||
{
|
||||
var result = await _loanService.GetAllAsync();
|
||||
return Ok(result);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Log.Error(e, "Failure returning Loans");
|
||||
return StatusCode(StatusCodes.Status500InternalServerError);
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost("SearchLoans", Name = "SearchLoans")]
|
||||
[ProducesResponseType(typeof(PaginatedListResponse), 200)]
|
||||
[ProducesResponseType(500)]
|
||||
public async Task<IActionResult> Post([FromBody]LoanFilter filter)
|
||||
{
|
||||
try
|
||||
{
|
||||
var result = await _loanService.GetFilteredAsync(filter);
|
||||
return Ok(result);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Log.Error(e, "Failure returning Filtered Loans");
|
||||
return StatusCode(StatusCodes.Status500InternalServerError);
|
||||
}
|
||||
}
|
||||
|
||||
[HttpGet("SearchMembers/{searchText}", Name = "SearchMembers")]
|
||||
[ProducesResponseType(typeof(string), 200)]
|
||||
[ProducesResponseType(500)]
|
||||
public async Task<IActionResult> SearchMembers(string searchText)
|
||||
{
|
||||
try
|
||||
{
|
||||
var result = await _loanService.SearchMembers(searchText);
|
||||
return Ok(result);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Log.Error(e, $"Failure returning members");
|
||||
return StatusCode(StatusCodes.Status500InternalServerError);
|
||||
}
|
||||
}
|
||||
|
||||
[HttpGet("SearchLoanNumbers/{searchText}", Name = "SearchLoanNumbers")]
|
||||
[ProducesResponseType(typeof(string), 200)]
|
||||
[ProducesResponseType(500)]
|
||||
public async Task<IActionResult> SearchLoanNumbers(string searchText)
|
||||
{
|
||||
try
|
||||
{
|
||||
var result = await _loanService.SearchLoanNumbers(searchText);
|
||||
return Ok(result);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Log.Error(e, $"Failure returning loan numbers");
|
||||
return StatusCode(StatusCodes.Status500InternalServerError);
|
||||
}
|
||||
}
|
||||
|
||||
[HttpGet("SearchApplicationIds/{searchText}", Name = "SearchApplicationIds")]
|
||||
[ProducesResponseType(typeof(string), 200)]
|
||||
[ProducesResponseType(500)]
|
||||
public async Task<IActionResult> SearchApplicationIds(string searchText)
|
||||
{
|
||||
try
|
||||
{
|
||||
var result = await _loanService.SearchApplicationIds(searchText);
|
||||
return Ok(result);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Log.Error(e, $"Failure returning application ids");
|
||||
return StatusCode(StatusCodes.Status500InternalServerError);
|
||||
}
|
||||
}
|
||||
|
||||
[HttpGet("GetById/{loanId}", Name = "GetLoanById")]
|
||||
[ProducesResponseType(typeof(Loan), 200)]
|
||||
[ProducesResponseType(500)]
|
||||
public async Task<IActionResult> GetById(int loanId)
|
||||
{
|
||||
try
|
||||
{
|
||||
var result = await _loanService.GetByIdAsync(loanId);
|
||||
return Ok(result);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Log.Error(e, $"Failure returning loan with id {loanId}");
|
||||
return StatusCode(StatusCodes.Status500InternalServerError);
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost("CalculateReserve", Name = "CalculateReserve")]
|
||||
public async Task<LoanReserve> Post([FromBody] LoanReserveInput input)
|
||||
{
|
||||
try
|
||||
{
|
||||
return await _loanService.GetLoanReserveAsync(input);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Log.Error("Failure to Calculate Loan Reserve: {0} {1}", e.Message, e.StackTrace);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost("CalculateChargeback", Name = "CalculateChargeback")]
|
||||
public async Task<LoanChargeback> Post([FromBody] LoanChargebackInput input)
|
||||
{
|
||||
try
|
||||
{
|
||||
return await _loanService.GetLoanChargebackAsync(input);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Log.Error("Failure to Calculate Loan Chargeback: {0} {1}", e.Message, e.StackTrace);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+33
@@ -0,0 +1,33 @@
|
||||
using ReserveManagementSystemApi.Services;
|
||||
namespace ReserveManagementSystemApi.Controllers;
|
||||
|
||||
[ApiController]
|
||||
[Route("api/[controller]")]
|
||||
public class StatusController : ControllerBase
|
||||
{
|
||||
private readonly IStatusService _statusService;
|
||||
public StatusController(IStatusService statusService)
|
||||
{
|
||||
_statusService = statusService;
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
[ProducesResponseType(200)]
|
||||
[ProducesResponseType(500)]
|
||||
public IActionResult Get()
|
||||
{
|
||||
try
|
||||
{
|
||||
return Ok(_statusService.GetEnviromentView());
|
||||
}
|
||||
catch (ServiceException exception)
|
||||
{
|
||||
return StatusCode(StatusCodes.Status500InternalServerError, exception.Message);
|
||||
}
|
||||
catch (Exception exception)
|
||||
{
|
||||
Log.Error(exception, "Unexpected Exception");
|
||||
return StatusCode(StatusCodes.Status500InternalServerError);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user