59 lines
1.7 KiB
C#
59 lines
1.7 KiB
C#
using _0_Framework.Application;
|
|
using _0_Framework.Domain.CustomizeCheckoutShared.Enums;
|
|
using CompanyManagment.App.Contracts.Loan;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using ServiceHost.BaseControllers;
|
|
|
|
namespace ServiceHost.Areas.Client.Controllers;
|
|
|
|
public class LoanController: ClientBaseController
|
|
{
|
|
private readonly ILoanApplication _loanApplication;
|
|
private readonly long _workshopId;
|
|
|
|
public LoanController(ILoanApplication loanApplication, IAuthHelper authHelper)
|
|
{
|
|
_loanApplication = loanApplication;
|
|
_workshopId= authHelper.GetWorkshopId();
|
|
}
|
|
[HttpGet]
|
|
public ActionResult<LoanGroupedViewModel> GetList(LoanSearchViewModel searchModel)
|
|
{
|
|
searchModel.WorkshopId = _workshopId;
|
|
var loans = _loanApplication.GetSearchListAsGrouped(searchModel);
|
|
return loans;
|
|
}
|
|
|
|
[HttpGet("{id}")]
|
|
public async Task<ActionResult<LoanDetailsViewModel>> GetDetails(long id)
|
|
{
|
|
var loan = await _loanApplication.GetDetails(id);
|
|
return loan;
|
|
}
|
|
|
|
[HttpPost]
|
|
public ActionResult<OperationResult> Create([FromBody] CreateLoanViewModel command)
|
|
{
|
|
var result = _loanApplication.Create(command);
|
|
return result;
|
|
}
|
|
|
|
[HttpGet("create/installments")]
|
|
public ActionResult<List<LoanInstallmentViewModel>> CalculateLoanInstallment(string amount,
|
|
int installmentCount, string loanStartDate, bool getRounded)
|
|
{
|
|
var installments =
|
|
_loanApplication.CalculateLoanInstallment(amount, installmentCount, loanStartDate, getRounded);
|
|
return installments;
|
|
}
|
|
|
|
[HttpDelete("{id}")]
|
|
public ActionResult<OperationResult> Remove(long id)
|
|
{
|
|
var result = _loanApplication.Remove(id);
|
|
return result;
|
|
}
|
|
|
|
|
|
|
|
} |