add payment method handling in institution contract extension and refactor installment calculation

This commit is contained in:
2025-10-08 14:38:06 +03:30
parent 4a3ac6e096
commit 780a610e91
10 changed files with 287 additions and 120 deletions

View File

@@ -7,7 +7,6 @@ using System.Threading.Tasks;
using _0_Framework.Application;
using _0_Framework.Application.Sms;
using CompanyManagment.App.Contracts.Checkout;
using CompanyManagment.App.Contracts.InstitutionContractContactinfo;
using CompanyManagment.App.Contracts.TemporaryClientRegistration;
using CompanyManagment.App.Contracts.Workshop;
using CompanyManagment.App.Contracts.WorkshopPlan;
@@ -222,33 +221,38 @@ public interface IInstitutionContractApplication
Task<InstitutionContractExtensionInquiryResult> GetExtenstionInquiry(long previousContractId);
Task<InstitutionContractExtensionWorkshopsResponse> GetExtenstionWorkshops(InstitutionContractExtensionWorkshopsRequest request);
Task<InstitutionContractExtensionPlanResponse> GetExtenstionInstitutionPlan(InstitutionContractExtensionPlanRequest request);
//TODO:Calculate total InstitutionContract Amount
Task<InstitutionContractExtensionPaymentResponse> GetExtenstionPaymentMethod(
InstitutionContractExtensionPaymentRequest request);
//TODO:calculate Payment method
//TODO:Complete Data.
}
public class InstitutionContractExtensionWorkshopsRequest
public class InstitutionContractExtensionPaymentResponse
{
public Guid TempId { get; set; }
public string City {get; set;}
public string Province { get; set; }
public string Address { get; set; }
public List<EditContactInfo> ContactInfos { get; set; }
public InstitutionContractExtensionPaymentOneTime OneTime { get; set; }
public InstitutionContractExtensionPaymentMonthly Monthly { get; set; }
}
public class InstitutionContractExtensionWorkshopsResponse
public class InstitutionContractExtensionPaymentMonthly:InstitutionContractExtensionPaymentOneTime
{
public List<WorkshopTempViewModel> WorkshopTemps { get; set; }
public string TotalAmount { get; set; }
public List<MonthlyInstallment> Installments { get; set; }
}
public class InstitutionContractExtensionPlanRequest
public class InstitutionContractExtensionPaymentOneTime
{
public List<WorkshopTempViewModel> WorkshopTemps { get; set; }
/// <summary>
/// مجموع مبالغ
/// </summary>
public string TotalAmount { get; set; }
public Guid TempId { get; set; }
/// <summary>
/// ارزش افزوده
/// </summary>
public string Tax { get; set; }
/// <summary>
/// مبلغ قابل پرداخت
/// </summary>
public string PaymentAmount { get; set; }
}

View File

@@ -0,0 +1,9 @@
using System;
namespace CompanyManagment.App.Contracts.InstitutionContract;
public class InstitutionContractExtensionPaymentRequest
{
public InstitutionContractDuration Duration { get; set; }
public Guid TempId { get; set; }
}

View File

@@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
using CompanyManagment.App.Contracts.TemporaryClientRegistration;
namespace CompanyManagment.App.Contracts.InstitutionContract;
public class InstitutionContractExtensionPlanRequest
{
public List<WorkshopTempViewModel> WorkshopTemps { get; set; }
public string TotalAmount { get; set; }
public Guid TempId { get; set; }
}

View File

@@ -0,0 +1,14 @@
using System;
using System.Collections.Generic;
using CompanyManagment.App.Contracts.InstitutionContractContactinfo;
namespace CompanyManagment.App.Contracts.InstitutionContract;
public class InstitutionContractExtensionWorkshopsRequest
{
public Guid TempId { get; set; }
public string City {get; set;}
public string Province { get; set; }
public string Address { get; set; }
public List<EditContactInfo> ContactInfos { get; set; }
}

View File

@@ -0,0 +1,10 @@
using System.Collections.Generic;
using CompanyManagment.App.Contracts.TemporaryClientRegistration;
namespace CompanyManagment.App.Contracts.InstitutionContract;
public class InstitutionContractExtensionWorkshopsResponse
{
public List<WorkshopTempViewModel> WorkshopTemps { get; set; }
public string TotalAmount { get; set; }
}