using System;
using _0_Framework.Application;
using _0_Framework.Domain;
namespace Company.Domain.TemporaryClientRegistrationAgg;
public class ContractingPartyTemp : EntityBase
{
public ContractingPartyTemp(string fName, string lName, string nationalCode, string idNumber, string phone, string fatherName, string state, string city, string address, string idNumberSeri, string idNumberSerial, Gender gender, DateTime dateOfBirth)
{
FName = fName;
LName = lName;
NationalCode = nationalCode;
IdNumber = idNumber;
Phone = phone;
FatherName = fatherName;
State = state;
City = city;
Address = address;
IdNumberSeri = idNumberSeri;
IdNumberSerial = idNumberSerial;
Gender = gender;
DateOfBirth = dateOfBirth;
PublicId = Guid.NewGuid();
Status = ContractingPartyTempStatus.InComplete;
}
///
/// نام
///
public string FName { get; private set; }
///
/// نام خانوادگی
///
public string LName { get; private set; }
///
/// نام پدر
///
public string FatherName { get; private set; }
///
/// جنسیت
///
public Gender Gender { get; private set; }
///
/// کد ملی
///
public string NationalCode { get; private set; }
///
///تاریخ تولد
///
public DateTime DateOfBirth { get; private set; }
///
/// سری شناسنامه
///
public string IdNumberSeri { get; private set; }
///
/// سریال شناسنامه
///
public string IdNumberSerial { get; private set; }
///
/// شماره شناسنامه
///
public string IdNumber { get; private set; }
///
/// شماره همراه
///
public string Phone { get; private set; }
///
/// استان
///
public string State { get; private set; }
///
/// شهر
///
public string City { get; private set; }
///
/// نشانی
///
public string Address { get; private set; }
public ContractingPartyTempStatus Status { get; set; }
public string VerifyCode { get; set; }
public DateTime VerifyCodeSentDateTime { get; set; }
public Guid PublicId { get; set; }
public void UpdateAddress(string state, string city, string address)
{
this.State = state;
this.City = city;
this.Address = address;
}
public void SetCompleted()
{
Status = ContractingPartyTempStatus.Completed;
}
public void SetVerifyCode(string verifyCode)
{
VerifyCode = verifyCode;
VerifyCodeSentDateTime = DateTime.Now;
}
}
public enum ContractingPartyTempStatus
{
InComplete,
Completed
}