From 8750604d962ff0e65b3876ce926b35d32e14236c Mon Sep 17 00:00:00 2001 From: mahan Date: Mon, 22 Dec 2025 17:43:32 +0330 Subject: [PATCH] feat: add financial transaction handling during institution contract verification --- .../InstitutionContractApplication.cs | 16 +++++++++++++++- .../Controllers/institutionContractController.cs | 2 +- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/CompanyManagment.Application/InstitutionContractApplication.cs b/CompanyManagment.Application/InstitutionContractApplication.cs index 2e3e354c..40b76b97 100644 --- a/CompanyManagment.Application/InstitutionContractApplication.cs +++ b/CompanyManagment.Application/InstitutionContractApplication.cs @@ -1611,9 +1611,23 @@ public class InstitutionContractApplication : IInstitutionContractApplication var transaction = await _institutionContractRepository.BeginTransactionAsync(); await SetPendingWorkflow(institutionContractId,InstitutionContractSigningType.Physical); + var financialStatement = await _financialStatmentRepository + .GetByContractingPartyId(institutionContract.ContractingPartyId); + + DateTime today = DateTime.Today; + var description = institutionContract.IsInstallment + ? "قسط اول سرویس" + : "پرداخت کل سرویس"; + var debtorAmount = institutionContract.IsInstallment + ? institutionContract.Installments.First().Amount + : institutionContract.TotalAmount; + + var financialTransaction = new FinancialTransaction(0, today, today.ToFarsi(), + description, "debt", "بابت خدمات", debtorAmount, 0, 0); + financialStatement.AddFinancialTransaction(financialTransaction); - await transaction.CommitAsync(); await _institutionContractRepository.SaveChangesAsync(); + await transaction.CommitAsync(); return op.Succcedded(); } diff --git a/ServiceHost/Areas/Admin/Controllers/institutionContractController.cs b/ServiceHost/Areas/Admin/Controllers/institutionContractController.cs index e343674a..4f8c9651 100644 --- a/ServiceHost/Areas/Admin/Controllers/institutionContractController.cs +++ b/ServiceHost/Areas/Admin/Controllers/institutionContractController.cs @@ -809,7 +809,7 @@ public class institutionContractController : AdminBaseController } [HttpPost("mannual-verify/{id}")] - public async Task> VerifyInstitutionContractMannualy(long id) + public async Task> VerifyInstitutionContractManually(long id) { var res= await _institutionContractApplication.VerifyInstitutionContractManually(id); return res;