Files
Backend-Api/Company.Domain/TemporaryClientRegistrationAgg/InstitutionContractTemp.cs
2025-07-08 08:29:36 +03:30

139 lines
4.5 KiB
C#

using System;
using System.Threading.Tasks;
using _0_Framework.Application.UID;
using _0_Framework.Domain;
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)
{
ContractingPartyTempId = contractingPartyTempId;
PaymentModel = paymentModel;
PeriodModel = periodModel;
TotalPayment = totalPayment;
ContractStartGr = contractStartGr;
ContractEndGr = contractEndGr;
OfficialCompany = officialCompany;
ValueAddedTax = valueAddedTax;
VerifyCode = verifyCode;
RegistrationStatus = registrationStatus;
MessageId = messageId;
SendVerifyCodeTime = sendVerifyCodeTime;
VerifyCodeEndTime = verifyCodeEndTime;
}
/// <summary>
/// آیدی طرف حساب
/// </summary>
public long ContractingPartyTempId { get; private set; }
/// <summary>
/// مدل پرداخت
/// بصورت یکجا
/// -
/// بصئورت ماهیانه
/// OneTime
/// </summary>
public string PaymentModel { get; private set; }
/// <summary>
/// مدت قرارداد
/// چند ماهه؟
/// "12"
/// </summary>
public string PeriodModel { get; private set; }
/// <summary>
/// مبلغ کل قرارداد
/// </summary>
public double TotalPayment { get; private set; }
/// <summary>
/// تاریخ شرع قراداد
/// میلادی
/// </summary>
public DateTime ContractStartGr { get; private set; }
/// <summary>
/// تاریخ پایان قراداد شمسی
/// </summary>
public DateTime ContractEndGr { get; private set; }
/// <summary>
/// پرداخت بصورت رسمی با غیر رسمی
/// </summary>
public string OfficialCompany { get; private set; }
/// <summary>
/// مبلغ مالیات بر ارزش افزوده
/// </summary>
public double ValueAddedTax { get; private set; }
/// <summary>
/// کد شش رقمی ثبت قرارداد
/// </summary>
public string VerifyCode { get; set; }
/// <summary>
/// وضعیت ثبت نام
/// -
/// BeforeSendVerifyCode قبل از ارسال کد
/// -
/// VerifyCodeSent کد ارسال شده
/// -
/// Completed ثبت نام تکمیل شده
/// </summary>
public string RegistrationStatus { get; private set; }
/// <summary>
/// آی دی پیامک ارسال شده
/// </summary>
public int MessageId { get; private set; }
/// <summary>
/// ثبت زمان ارسال کد
/// </summary>
public DateTime? SendVerifyCodeTime { get; private set; }
/// <summary>
/// زمان پایان مهلت ارسال کد
/// </summary>
public DateTime? VerifyCodeEndTime{ get; private 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)
{
ContractingPartyTempId = contractingPartyTempId;
PaymentModel = paymentModel;
PeriodModel = periodModel;
TotalPayment = totalPayment;
ContractStartGr = contractStartGr;
ContractEndGr = contractEndGr;
OfficialCompany = officialCompany;
ValueAddedTax = valueAddedTax;
VerifyCode = verifyCode;
RegistrationStatus = registrationStatus;
MessageId = messageId;
SendVerifyCodeTime = sendVerifyCodeTime;
VerifyCodeEndTime = verifyCodeEndTime;
}
public void Update(string verifyCode, string registrationStatus, int messageId, DateTime? sendVerifyCodeTime, DateTime? verifyCodeEndTime)
{
VerifyCode = verifyCode;
RegistrationStatus = registrationStatus;
MessageId = messageId;
SendVerifyCodeTime = sendVerifyCodeTime;
VerifyCodeEndTime = verifyCodeEndTime;
}
public void ChangeRegistrationStatus(string registrationStatus)
{
RegistrationStatus = registrationStatus;
}
}