add PublicId and RegistrationStatus enum to InstitutionContractTemp and related classes
This commit is contained in:
@@ -21,6 +21,7 @@ public class ContractingPartyTemp : EntityBase
|
||||
IdNumberSerial = idNumberSerial;
|
||||
Gender = gender;
|
||||
DateOfBirth = dateOfBirth;
|
||||
PublicId = Guid.NewGuid();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -91,6 +92,8 @@ public class ContractingPartyTemp : EntityBase
|
||||
/// </summary>
|
||||
public string Address { get; private set; }
|
||||
|
||||
public Guid PublicId { get; set; }
|
||||
|
||||
public void UpdateAddress(string state, string city, string address)
|
||||
{
|
||||
this.State = state;
|
||||
|
||||
@@ -3,12 +3,13 @@ using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using _0_Framework.Application.UID;
|
||||
using _0_Framework.Domain;
|
||||
using CompanyManagment.App.Contracts.TemporaryClientRegistration;
|
||||
|
||||
namespace Company.Domain.TemporaryClientRegistrationAgg;
|
||||
|
||||
public class InstitutionContractTemp : EntityBase
|
||||
{
|
||||
public InstitutionContractTemp(long contractingPartyTempId, string paymentModel, string periodModel, double totalPayment, DateTime contractStartGr, DateTime contractEndGr, string officialCompany, double valueAddedTax, string verifyCode, string registrationStatus, int messageId, DateTime? sendVerifyCodeTime, DateTime? verifyCodeEndTime)
|
||||
public InstitutionContractTemp(long contractingPartyTempId, string paymentModel, string periodModel, double totalPayment, DateTime contractStartGr, DateTime contractEndGr, string officialCompany, double valueAddedTax, string verifyCode, InstitutionContractTempStatus registrationStatus, int messageId, DateTime? sendVerifyCodeTime, DateTime? verifyCodeEndTime)
|
||||
{
|
||||
ContractingPartyTempId = contractingPartyTempId;
|
||||
PaymentModel = paymentModel;
|
||||
@@ -23,6 +24,7 @@ public class InstitutionContractTemp : EntityBase
|
||||
MessageId = messageId;
|
||||
SendVerifyCodeTime = sendVerifyCodeTime;
|
||||
VerifyCodeEndTime = verifyCodeEndTime;
|
||||
PublicId = Guid.NewGuid();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -88,7 +90,7 @@ public class InstitutionContractTemp : EntityBase
|
||||
/// -
|
||||
/// Completed ثبت نام تکمیل شده
|
||||
/// </summary>
|
||||
public string RegistrationStatus { get; private set; }
|
||||
public InstitutionContractTempStatus RegistrationStatus { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// آی دی پیامک ارسال شده
|
||||
@@ -105,10 +107,16 @@ public class InstitutionContractTemp : EntityBase
|
||||
/// </summary>
|
||||
public DateTime? VerifyCodeEndTime{ get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// آیدی عمومی
|
||||
/// برای نمایش در آدرس
|
||||
/// </summary>
|
||||
public Guid PublicId { get; set; }
|
||||
|
||||
public List<InstitutionContractContactInfoTemp> ContactInfoList { get; set; }
|
||||
|
||||
|
||||
public void Edit(long contractingPartyTempId, string paymentModel, string periodModel, double totalPayment, DateTime contractStartGr, DateTime contractEndGr, string officialCompany, double valueAddedTax, string verifyCode, string registrationStatus, int messageId, DateTime? sendVerifyCodeTime, DateTime? verifyCodeEndTime)
|
||||
public void Edit(long contractingPartyTempId, string paymentModel, string periodModel, double totalPayment, DateTime contractStartGr, DateTime contractEndGr, string officialCompany, double valueAddedTax, string verifyCode, InstitutionContractTempStatus registrationStatus, int messageId, DateTime? sendVerifyCodeTime, DateTime? verifyCodeEndTime)
|
||||
{
|
||||
ContractingPartyTempId = contractingPartyTempId;
|
||||
PaymentModel = paymentModel;
|
||||
@@ -125,7 +133,7 @@ public class InstitutionContractTemp : EntityBase
|
||||
VerifyCodeEndTime = verifyCodeEndTime;
|
||||
}
|
||||
|
||||
public void Update(string verifyCode, string registrationStatus, int messageId, DateTime? sendVerifyCodeTime, DateTime? verifyCodeEndTime)
|
||||
public void Update(string verifyCode, InstitutionContractTempStatus registrationStatus, int messageId, DateTime? sendVerifyCodeTime, DateTime? verifyCodeEndTime)
|
||||
{
|
||||
VerifyCode = verifyCode;
|
||||
RegistrationStatus = registrationStatus;
|
||||
@@ -134,9 +142,10 @@ public class InstitutionContractTemp : EntityBase
|
||||
VerifyCodeEndTime = verifyCodeEndTime;
|
||||
}
|
||||
|
||||
public void ChangeRegistrationStatus(string registrationStatus)
|
||||
public void ChangeRegistrationStatus(InstitutionContractTempStatus registrationStatus)
|
||||
{
|
||||
RegistrationStatus = registrationStatus;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -67,7 +67,9 @@ public class CreateInstitutionContractTemp
|
||||
/// -
|
||||
/// Completed ثبت نام تکمیل شده
|
||||
/// </summary>
|
||||
public string RegistrationStatus { get; set; }
|
||||
public InstitutionContractTempStatus RegistrationStatus { get; set; }
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// آی دی پیامک ارسال شده
|
||||
|
||||
@@ -125,6 +125,13 @@ public interface ITemporaryClientRegistrationApplication
|
||||
/// <param name="command"></param>
|
||||
/// <returns></returns>
|
||||
Task<OperationResult> CreateInstitutionContractTemp(CreateInstitutionContractTempRequest command);
|
||||
|
||||
/// <summary>
|
||||
/// ارسال لینک تایید قوانین و مقررات به طرف حساب
|
||||
/// </summary>
|
||||
/// <param name="contractingPartyTempId"></param>
|
||||
/// <returns></returns>
|
||||
Task<OperationResult> SendAgreementLink(long contractingPartyTempId);
|
||||
}
|
||||
|
||||
public class CreateInstitutionContractTempRequest
|
||||
|
||||
@@ -3,4 +3,14 @@
|
||||
public class InstitutionContractTempViewModel : CreateInstitutionContractTemp
|
||||
{
|
||||
public long Id { get; set; }
|
||||
}
|
||||
|
||||
public enum InstitutionContractTempStatus
|
||||
{
|
||||
BeforeSendVerifyCode,
|
||||
VerifyCodeSent,
|
||||
PendingToCompletion,
|
||||
ReceivedCodeFromClient,
|
||||
Completed
|
||||
|
||||
}
|
||||
@@ -5,6 +5,7 @@ using System.Threading.Tasks;
|
||||
using _0_Framework.Application;
|
||||
using _0_Framework.Application.Sms;
|
||||
using _0_Framework.Application.UID;
|
||||
using _0_Framework.Exceptions;
|
||||
using Company.Domain.ContarctingPartyAgg;
|
||||
using Company.Domain.InstitutionPlanAgg;
|
||||
using Company.Domain.TemporaryClientRegistrationAgg;
|
||||
@@ -12,6 +13,7 @@ using CompanyManagment.App.Contracts.InstitutionContract;
|
||||
using CompanyManagment.App.Contracts.InstitutionPlan;
|
||||
using CompanyManagment.App.Contracts.TemporaryClientRegistration;
|
||||
using IPE.SmsIrClient.Models.Results;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using PersianTools.Core;
|
||||
using static Microsoft.EntityFrameworkCore.DbLoggerCategory.Database;
|
||||
@@ -101,7 +103,7 @@ public class TemporaryClientRegistrationApplication : ITemporaryClientRegistrati
|
||||
|
||||
if (institutionContractTemp != null)
|
||||
{
|
||||
if (institutionContractTemp.RegistrationStatus == "Completed")
|
||||
if (institutionContractTemp.RegistrationStatus == InstitutionContractTempStatus.Completed)
|
||||
return op.Failed("شما قبلا ثبت نام خود را تکمیل نموده اید");
|
||||
}
|
||||
|
||||
@@ -691,7 +693,8 @@ public class TemporaryClientRegistrationApplication : ITemporaryClientRegistrati
|
||||
var periodModelInt = Convert.ToInt32(periodModel);
|
||||
|
||||
var create = new InstitutionContractTemp(contractingPartyTempId, paymentModel, periodModel, totalPayment,
|
||||
contractStartDate, contractEndDate, "official", valueAddedTax, "", "BeforeSendVerifyCode", 0, null,
|
||||
contractStartDate, contractEndDate, "official", valueAddedTax, "",
|
||||
InstitutionContractTempStatus.BeforeSendVerifyCode, 0, null,
|
||||
null);
|
||||
_institutionContractTempRepository.Create(create);
|
||||
_institutionContractTempRepository.SaveChanges();
|
||||
@@ -707,12 +710,13 @@ public class TemporaryClientRegistrationApplication : ITemporaryClientRegistrati
|
||||
if (institutionContractTemp.VerifyCodeEndTime != null)
|
||||
{
|
||||
var spaning = (DateTime.Now - institutionContractTemp.VerifyCodeEndTime.Value);
|
||||
if (institutionContractTemp.RegistrationStatus == "VerifyCodeSent" && spaning > new TimeSpan(0, 0, 0) &&
|
||||
if (institutionContractTemp.RegistrationStatus == InstitutionContractTempStatus.VerifyCodeSent &&
|
||||
spaning > new TimeSpan(0, 0, 0) &&
|
||||
spaning < new TimeSpan(0, 1, 0))
|
||||
return op.Failed("شما به تازگی پیامک دریافت نموده اید دو دقیقه صبر کنید و دوباره تلاش کنید");
|
||||
}
|
||||
|
||||
if (institutionContractTemp.RegistrationStatus == "Completed")
|
||||
if (institutionContractTemp.RegistrationStatus == InstitutionContractTempStatus.Completed)
|
||||
return op.Failed("شما قبلا ثبت نام خود را تکمیل نموده اید");
|
||||
|
||||
|
||||
@@ -721,7 +725,8 @@ public class TemporaryClientRegistrationApplication : ITemporaryClientRegistrati
|
||||
var contractEnd = DateTime.Now.AddMonths(periodModelInt);
|
||||
var update = _institutionContractTempRepository.Get(institutionContractTemp.Id);
|
||||
update.Edit(contractingPartyTempId, paymentModel, periodModel, totalPayment, contractStartDate,
|
||||
contractEndDate, "official", valueAddedTax, "", "BeforeSendVerifyCode", 0, null, null);
|
||||
contractEndDate, "official", valueAddedTax, "", InstitutionContractTempStatus.BeforeSendVerifyCode, 0,
|
||||
null, null);
|
||||
_institutionContractTempRepository.SaveChanges();
|
||||
|
||||
//temporary
|
||||
@@ -752,7 +757,7 @@ public class TemporaryClientRegistrationApplication : ITemporaryClientRegistrati
|
||||
var update = _institutionContractTempRepository.Get(institutionContractTemp.Id);
|
||||
|
||||
|
||||
if (institutionContractTemp.RegistrationStatus == "BeforeSendVerifyCode")
|
||||
if (institutionContractTemp.RegistrationStatus == InstitutionContractTempStatus.BeforeSendVerifyCode)
|
||||
{
|
||||
//ساخت کد شش رقمی
|
||||
Random generator = new Random();
|
||||
@@ -771,13 +776,14 @@ public class TemporaryClientRegistrationApplication : ITemporaryClientRegistrati
|
||||
//تغییر وضعیت به ارسال شده
|
||||
if (update != null)
|
||||
{
|
||||
update.Update(code, "VerifyCodeSent", sendResult.MessageId, DateTime.Now, DateTime.Now.AddMinutes(2));
|
||||
update.Update(code, InstitutionContractTempStatus.VerifyCodeSent, sendResult.MessageId, DateTime.Now,
|
||||
DateTime.Now.AddMinutes(2));
|
||||
_institutionContractTempRepository.SaveChanges();
|
||||
return op.Succcedded(1, "کد برای شما پیامک شد");
|
||||
}
|
||||
}
|
||||
|
||||
if (institutionContractTemp.RegistrationStatus == "VerifyCodeSent")
|
||||
if (institutionContractTemp.RegistrationStatus == InstitutionContractTempStatus.VerifyCodeSent)
|
||||
|
||||
{
|
||||
if (DateTime.Now < institutionContractTemp.VerifyCodeEndTime.Value)
|
||||
@@ -807,7 +813,8 @@ public class TemporaryClientRegistrationApplication : ITemporaryClientRegistrati
|
||||
|
||||
if (update != null)
|
||||
{
|
||||
update.Update(code, "VerifyCodeSent", sendResult.MessageId, DateTime.Now,
|
||||
update.Update(code, InstitutionContractTempStatus.VerifyCodeSent, sendResult.MessageId,
|
||||
DateTime.Now,
|
||||
DateTime.Now.AddMinutes(2));
|
||||
_institutionContractTempRepository.SaveChanges();
|
||||
return op.Succcedded(1, "کد برای شما پیامک شد");
|
||||
@@ -818,7 +825,7 @@ public class TemporaryClientRegistrationApplication : ITemporaryClientRegistrati
|
||||
//if (institutionContractTemp.RegistrationStatus == "ReceivedCodeFromClient")
|
||||
// return op.Succcedded(2, "انتقال به بخش پرداخت");
|
||||
|
||||
if (institutionContractTemp.RegistrationStatus == "Completed")
|
||||
if (institutionContractTemp.RegistrationStatus == InstitutionContractTempStatus.Completed)
|
||||
return op.Failed("شما قبلا ثبت نام خود را تکمیل نموده اید");
|
||||
return op.Failed("خظا");
|
||||
}
|
||||
@@ -837,7 +844,8 @@ public class TemporaryClientRegistrationApplication : ITemporaryClientRegistrati
|
||||
_institutionContractTempRepository.GetInstitutionContractTemp(0, contractingPartyTempId);
|
||||
if (institutionContractTemp == null)
|
||||
return op.Failed("خظا");
|
||||
if (institutionContractTemp.RegistrationStatus != "VerifyCodeSent")
|
||||
|
||||
if (institutionContractTemp.RegistrationStatus != InstitutionContractTempStatus.VerifyCodeSent)
|
||||
return op.Failed("خطا");
|
||||
|
||||
if (institutionContractTemp.VerifyCodeEndTime < DateTime.Now)
|
||||
@@ -891,7 +899,7 @@ public class TemporaryClientRegistrationApplication : ITemporaryClientRegistrati
|
||||
var institutionContractTemp = await
|
||||
_institutionContractTempRepository.GetInstitutionContractTemp(0, contractingPartyTempId);
|
||||
var update = _institutionContractTempRepository.Get(institutionContractTemp.Id);
|
||||
update.ChangeRegistrationStatus("Completed");
|
||||
update.ChangeRegistrationStatus(InstitutionContractTempStatus.PendingToCompletion);
|
||||
_institutionContractTempRepository.SaveChanges();
|
||||
|
||||
|
||||
@@ -907,25 +915,43 @@ public class TemporaryClientRegistrationApplication : ITemporaryClientRegistrati
|
||||
public async Task<OperationResult> CreateInstitutionContractTemp(CreateInstitutionContractTempRequest command)
|
||||
{
|
||||
var contractingPartyId = command.ContractingPartyTempId;
|
||||
|
||||
await using var transaction = await _contractingPartyTempRepository.BeginTransactionAsync();
|
||||
var updateAddressRes = await UpdateAddress(contractingPartyId, command.State, command.City, command.Address);
|
||||
if (!updateAddressRes.IsSuccedded)
|
||||
return updateAddressRes;
|
||||
|
||||
|
||||
var createWorkshopRes = await CreateOrUpdateWorkshopTemp(command.Workshops, contractingPartyId);
|
||||
if (!createWorkshopRes.IsSuccedded)
|
||||
return createWorkshopRes;
|
||||
|
||||
|
||||
var createInstitution = await CreateOrUpdateInstitutionContractTemp(contractingPartyId, command.PeriodModel,
|
||||
command.PaymentModel,
|
||||
command.TotalPayment, command.ValueAddedTax, command.ContractStartFa.ToGeorgianDateTime());
|
||||
if (!createInstitution.IsSuccedded)
|
||||
return createInstitution;
|
||||
|
||||
var payOffRes =await PayOffCompleted(contractingPartyId);
|
||||
|
||||
var payOffRes = await PayOffCompleted(contractingPartyId);
|
||||
if (!payOffRes.IsSuccedded)
|
||||
return payOffRes;
|
||||
|
||||
|
||||
await transaction.CommitAsync();
|
||||
return new OperationResult().Succcedded();
|
||||
}
|
||||
|
||||
public async Task<OperationResult> SendAgreementLink(long contractingPartyTempId)
|
||||
{
|
||||
var op = new OperationResult();
|
||||
var institutionContractTemp = _institutionContractTempRepository.Get(contractingPartyTempId);
|
||||
if (institutionContractTemp == null)
|
||||
throw new NotFoundException("طرف حساب یافت نشد");
|
||||
|
||||
if (institutionContractTemp.RegistrationStatus == InstitutionContractTempStatus.Completed)
|
||||
throw new BadRequestException("شما قبلا ثبت نام خود را تکمیل نموده اید");
|
||||
|
||||
//ارسال لینک به طرف حساب
|
||||
//Todo: implement the logic to send the agreement link to the contracting party
|
||||
|
||||
|
||||
return op.Succcedded();
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,63 @@
|
||||
using System;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace CompanyManagment.EFCore.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class AddPublicIdtoinstitutioncontractandcontractingparty : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.AlterColumn<int>(
|
||||
name: "RegistrationStatus",
|
||||
table: "InstitutionContractTemps",
|
||||
type: "int",
|
||||
maxLength: 30,
|
||||
nullable: false,
|
||||
defaultValue: 0,
|
||||
oldClrType: typeof(string),
|
||||
oldType: "nvarchar(30)",
|
||||
oldMaxLength: 30,
|
||||
oldNullable: true);
|
||||
|
||||
migrationBuilder.AddColumn<Guid>(
|
||||
name: "PublicId",
|
||||
table: "InstitutionContractTemps",
|
||||
type: "uniqueidentifier",
|
||||
nullable: false,
|
||||
defaultValue: new Guid("00000000-0000-0000-0000-000000000000"));
|
||||
|
||||
migrationBuilder.AddColumn<Guid>(
|
||||
name: "PublicId",
|
||||
table: "ContractingPartyTemp",
|
||||
type: "uniqueidentifier",
|
||||
nullable: false,
|
||||
defaultValue: new Guid("00000000-0000-0000-0000-000000000000"));
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropColumn(
|
||||
name: "PublicId",
|
||||
table: "InstitutionContractTemps");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "PublicId",
|
||||
table: "ContractingPartyTemp");
|
||||
|
||||
migrationBuilder.AlterColumn<string>(
|
||||
name: "RegistrationStatus",
|
||||
table: "InstitutionContractTemps",
|
||||
type: "nvarchar(30)",
|
||||
maxLength: 30,
|
||||
nullable: true,
|
||||
oldClrType: typeof(int),
|
||||
oldType: "int",
|
||||
oldMaxLength: 30);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -5401,6 +5401,9 @@ namespace CompanyManagment.EFCore.Migrations
|
||||
.HasMaxLength(12)
|
||||
.HasColumnType("nvarchar(12)");
|
||||
|
||||
b.Property<Guid>("PublicId")
|
||||
.HasColumnType("uniqueidentifier");
|
||||
|
||||
b.Property<string>("State")
|
||||
.HasMaxLength(35)
|
||||
.HasColumnType("nvarchar(35)");
|
||||
@@ -5485,9 +5488,12 @@ namespace CompanyManagment.EFCore.Migrations
|
||||
.HasMaxLength(3)
|
||||
.HasColumnType("nvarchar(3)");
|
||||
|
||||
b.Property<string>("RegistrationStatus")
|
||||
b.Property<Guid>("PublicId")
|
||||
.HasColumnType("uniqueidentifier");
|
||||
|
||||
b.Property<int>("RegistrationStatus")
|
||||
.HasMaxLength(30)
|
||||
.HasColumnType("nvarchar(30)");
|
||||
.HasColumnType("int");
|
||||
|
||||
b.Property<DateTime?>("SendVerifyCodeTime")
|
||||
.HasColumnType("datetime2");
|
||||
|
||||
@@ -50,7 +50,7 @@ public class InstitutionContractTempRepository : RepositoryBase<long, Institutio
|
||||
|
||||
public async Task<List<RegistrationWorkflowMainList>> GetAllCompletedRegistration()
|
||||
{
|
||||
return await _context.InstitutionContractTemps.Where(x => x.RegistrationStatus == "Completed")
|
||||
return await _context.InstitutionContractTemps.Where(x => x.RegistrationStatus == InstitutionContractTempStatus.Completed)
|
||||
.Join(_context.ContractingPartyTemps,
|
||||
institutionContract => institutionContract.ContractingPartyTempId,
|
||||
contractingParty => contractingParty.id,
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
using System.Transactions;
|
||||
using _0_Framework.Application;
|
||||
using _0_Framework.Application.Enums;
|
||||
using AccountManagement.Application.Contracts.Account;
|
||||
@@ -12,6 +13,7 @@ using CompanyManagment.App.Contracts.TemporaryClientRegistration;
|
||||
using CompanyManagment.App.Contracts.Workshop;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.AspNetCore.Mvc.Rendering;
|
||||
using ServiceHost.Areas.Client.Pages.Company.PaymentToEmployee;
|
||||
using ServiceHost.BaseControllers;
|
||||
|
||||
namespace ServiceHost.Areas.Admin.Controllers;
|
||||
@@ -68,7 +70,6 @@ public class institutionContractController : AdminBaseController
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// ویرایش
|
||||
/// </summary>
|
||||
@@ -596,7 +597,7 @@ public class institutionContractController : AdminBaseController
|
||||
InsuranceInPerson = command.InsuranceInPerson
|
||||
};
|
||||
|
||||
return _temporaryClientRegistration.GetInstitutionPlanForWorkshop(workshopTemp);
|
||||
return _temporaryClientRegistration.GetInstitutionPlanForWorkshop(workshopTemp);
|
||||
}
|
||||
|
||||
[HttpPost("create/institution-plan-calculator")]
|
||||
@@ -607,7 +608,7 @@ public class institutionContractController : AdminBaseController
|
||||
request.workshopList, request.PeriodModel, request.PaymentModel, request.ContractStartType);
|
||||
return res;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// ایجاد
|
||||
/// </summary>
|
||||
@@ -618,18 +619,52 @@ public class institutionContractController : AdminBaseController
|
||||
{
|
||||
return await _temporaryClientRegistration.CreateInstitutionContractTemp(command);
|
||||
}
|
||||
|
||||
public record InstitutionPlanCalculatorRequest(
|
||||
long ContractingPartyTempId,
|
||||
List<WorkshopTempViewModel> workshopList,
|
||||
string PeriodModel = "12",
|
||||
string PaymentModel = "OneTime",
|
||||
string ContractStartType = "currentMonth");
|
||||
public class CreateInquiryRequest
|
||||
|
||||
/// <summary>
|
||||
/// ارسال لینک تایید قوانین و مقررات به طرف حساب
|
||||
/// </summary>
|
||||
/// <param name="contractingPartyTempId"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost("create/send-link/{contractingPartyTempId}")]
|
||||
public async Task<ActionResult<OperationResult>> SendAgreementLink(long contractingPartyTempId)
|
||||
{
|
||||
public string NationalCode { get; set; }
|
||||
public string DateOfBirth { get; set; }
|
||||
public string Mobile { get; set; }
|
||||
return await _temporaryClientRegistration.SendAgreementLink(contractingPartyTempId);
|
||||
}
|
||||
|
||||
[HttpPost("create/verify-code")]
|
||||
public async Task<ActionResult<OperationResult>> CheckVerifyCode(VerifyCodeRequest request)
|
||||
{
|
||||
using var transaction = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled);
|
||||
var operationResult =
|
||||
await _temporaryClientRegistration.CheckVerifyCodeIsTrue(request.ContractingPartyId, request.verifyCode);
|
||||
if (!operationResult.IsSuccedded)
|
||||
return operationResult;
|
||||
|
||||
operationResult = await _temporaryClientRegistration.PayOffCompleted(request.ContractingPartyId);
|
||||
|
||||
if (operationResult.IsSuccedded)
|
||||
transaction.Complete();
|
||||
|
||||
return operationResult;
|
||||
}
|
||||
}
|
||||
|
||||
public record InstitutionPlanCalculatorRequest(
|
||||
long ContractingPartyTempId,
|
||||
List<WorkshopTempViewModel> workshopList,
|
||||
string PeriodModel = "12",
|
||||
string PaymentModel = "OneTime",
|
||||
string ContractStartType = "currentMonth");
|
||||
|
||||
public class CreateInquiryRequest
|
||||
{
|
||||
public string NationalCode { get; set; }
|
||||
public string DateOfBirth { get; set; }
|
||||
public string Mobile { get; set; }
|
||||
}
|
||||
|
||||
public class VerifyCodeRequest
|
||||
{
|
||||
public long ContractingPartyId { get; set; }
|
||||
public string verifyCode { get; set; }
|
||||
}
|
||||
Reference in New Issue
Block a user