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(); } /// /// آیدی طرف حساب /// public long ContractingPartyTempId { get; private set; } /// /// مدل پرداخت /// بصورت یکجا /// - /// بصئورت ماهیانه /// OneTime /// public string PaymentModel { get; private set; } /// /// مدت قرارداد /// چند ماهه؟ /// "12" /// public string PeriodModel { get; private set; } /// /// مبلغ کل قرارداد /// public double TotalPayment { get; private set; } /// /// تاریخ شرع قراداد /// میلادی /// public DateTime ContractStartGr { get; private set; } /// /// تاریخ پایان قراداد شمسی /// public DateTime ContractEndGr { get; private set; } /// /// پرداخت بصورت رسمی با غیر رسمی /// public string OfficialCompany { get; private set; } /// /// مبلغ مالیات بر ارزش افزوده /// public double ValueAddedTax { get; private set; } /// /// کد شش رقمی ثبت قرارداد /// public string VerifyCode { get; set; } /// /// وضعیت ثبت نام /// - /// BeforeSendVerifyCode قبل از ارسال کد /// - /// VerifyCodeSent کد ارسال شده /// - /// Completed ثبت نام تکمیل شده /// public InstitutionContractTempStatus RegistrationStatus { get; private set; } /// /// آی دی پیامک ارسال شده /// public int MessageId { get; private set; } /// /// ثبت زمان ارسال کد /// public DateTime? SendVerifyCodeTime { get; private set; } /// /// زمان پایان مهلت ارسال کد /// public DateTime? VerifyCodeEndTime{ get; private set; } /// /// آیدی عمومی /// برای نمایش در آدرس /// public Guid PublicId { get; set; } public List 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; } }