merge from CreateApiPaymentGateWay

This commit is contained in:
MahanCh
2025-07-20 14:56:19 +03:30
4 changed files with 31 additions and 3 deletions

View File

@@ -50,6 +50,8 @@ public interface IPaymentTransactionApplication
/// <param name="bankName"></param>
/// <returns></returns>
OperationResult SetSuccess(long paymentTransactionId, string cardNumber, string bankName);
Task<OperationResult> SetTransactionId(long id, string transactionId);
}
public class PaymentTransactionDetailsViewModel

View File

@@ -102,4 +102,12 @@ public class PaymentTransactionApplication : IPaymentTransactionApplication
return op.Succcedded();
}
public async Task<OperationResult> SetTransactionId(long id, string transactionId)
{
var paymentTransaction = _paymentTransactionRepository.Get(id);
paymentTransaction.SetTransactionId(transactionId);
await _paymentTransactionRepository.SaveChangesAsync();
return new OperationResult().Succcedded();
}
}

View File

@@ -89,6 +89,7 @@ public class FinancialController : ClientBaseController
if (gatewayResponse.IsSuccess)
{
_ = await _paymentTransactionApplication.SetTransactionId(transaction.SendId, gatewayResponse.TransactionId);
return op.Succcedded(_paymentGateway.GetStartPayUrl(gatewayResponse.TransactionId));
}

View File

@@ -7,6 +7,8 @@ using ServiceHost.BaseControllers;
using System.Globalization;
using _0_Framework.Application.PaymentGateway;
using Microsoft.Extensions.Options;
using CompanyManagment.App.Contracts.FinancialStatment;
using CompanyManagment.App.Contracts.FinancilTransaction;
namespace ServiceHost.Controllers;
@@ -15,11 +17,13 @@ public class GeneralController : GeneralBaseController
private readonly IPaymentTransactionApplication _paymentTransactionApplication;
private readonly IPaymentGateway _paymentGateway;
private readonly IFinancialStatmentApplication _financialStatmentApplication;
public GeneralController(IPaymentTransactionApplication paymentTransactionApplication,IHttpClientFactory clientFactory,IOptions<AppSettingConfiguration> appSetting)
public GeneralController(IPaymentTransactionApplication paymentTransactionApplication,IHttpClientFactory clientFactory, IFinancialStatmentApplication financialStatmentApplication, IOptions<AppSettingConfiguration> appSetting)
{
_paymentTransactionApplication = paymentTransactionApplication;
_paymentGateway = new AqayePardakhtPaymentGateway(clientFactory, appSetting);
_financialStatmentApplication = financialStatmentApplication;
}
/// <summary>
@@ -80,12 +84,25 @@ public class GeneralController : GeneralBaseController
if (verifyRes.IsSuccess)
{
var setSuccessResult = _paymentTransactionApplication.SetSuccess(paymentTransactionId, cardnumber, bank);
//TODO : افزودن دریافت درآمد به وضعیت مالی
var command = new CreateFinancialStatment()
{
ContractingPartyId = transaction.ContractingPartyId,
TdateFa = DateTime.Now.ToFarsi(),
Deptor = 0,
Creditor = transaction.Amount,
DeptorString = "درگاه بانکی",
TypeOfTransaction = "credit",
DescriptionOption = "بابت قرارداد مابین (روابط کار)",
};
_financialStatmentApplication.Create(command);
if (!setSuccessResult.IsSuccedded)
{
return new JsonResult(setSuccessResult);
}
return Redirect(BuildCallbackUrl(transaction.CallBackUrl, true, transaction.Id));
}