Files
Backend-Api/ServiceHost/Pages/CallBack/Index.cshtml.cs

66 lines
2.3 KiB
C#

using _0_Framework.Application;
using CompanyManagment.App.Contracts.PaymentTransaction;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
namespace ServiceHost.Pages.CallBack
{
[IgnoreAntiforgeryToken]
public class IndexModel : PageModel
{
private readonly IPaymentTransactionApplication _paymentTransactionApplication;
public IndexModel(IPaymentTransactionApplication paymentTransactionApplication)
{
_paymentTransactionApplication = paymentTransactionApplication;
}
public void OnGet(string? transid, string? cardnumber, string? tracking_number, string status)
{
if (string.IsNullOrEmpty(cardnumber) || string.IsNullOrEmpty(tracking_number))
{
ViewData["message"] = "پرداخت ناموفق بوده است";
return;
}
else if (status == "1")
{
ViewData["message"] = "پرداخت موفق بوده است";
return;
}
}
public void OnPost(string? transid, string? cardnumber, string? tracking_number, string bank, string invoice_id, string? status)
{
var command = new CreatePaymentTransaction()
{
CardNumber = cardnumber,
Amount = 10000,
TransactionId = transid,
ContractingPartyId = 0,
ContractingPartyName = "تست تستی",
BankName = bank
};
if (string.IsNullOrEmpty(cardnumber) || string.IsNullOrEmpty(tracking_number))
{
ViewData["message"] = "پرداخت ناموفق بوده است";
command.Status = PaymentTransactionStatus.Failed;
}
else if (status == "1")
{
ViewData["message"] = "پرداخت موفق بوده است";
command.Status = PaymentTransactionStatus.Success;
}
else
{
ViewData["message"] = "پرداخت ناموفق بوده است";
command.Status = PaymentTransactionStatus.Failed;
}
_paymentTransactionApplication.Create(command);
}
}
}