Files
Backend-Api/Company.Domain/TemporaryClientRegistrationAgg/InstitutionContractTemp.cs

152 lines
5.0 KiB
C#

using System;
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, InstitutionContractTempStatus 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;
PublicId = Guid.NewGuid();
}
/// <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 InstitutionContractTempStatus 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; }
/// <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, InstitutionContractTempStatus 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, InstitutionContractTempStatus registrationStatus, int messageId, DateTime? sendVerifyCodeTime, DateTime? verifyCodeEndTime)
{
VerifyCode = verifyCode;
RegistrationStatus = registrationStatus;
MessageId = messageId;
SendVerifyCodeTime = sendVerifyCodeTime;
VerifyCodeEndTime = verifyCodeEndTime;
}
public void ChangeRegistrationStatus(InstitutionContractTempStatus registrationStatus)
{
RegistrationStatus = registrationStatus;
}
}