Files
Backend-Api/AccountManagement.Domain/SubAccountAgg/SubAccount.cs

86 lines
2.5 KiB
C#

using _0_Framework.Application;
using _0_Framework.Domain;
using AccountManagement.Domain.SubAccountRoleAgg;
namespace AccountManagement.Domain.SubAccountAgg
{
public class SubAccount : EntityBase
{
public string FullName
{
get { return $"{FName} {LName}"; }
}
public string PhoneNumber { get; private set; }
public string NationalCode { get; private set; }
public string FName { get; private set; }
public string LName { get; private set; }
public long SubAccountRoleId { get; private set; }
public SubAccountRole SubAccountRole { get; private set; }
public long AccountId { get; private set; }
public string Username { get; private set; }
public string Password { get; private set; }
public string VerifyCode { get; private set; }
public IsActive IsActive { get; private set; }
public string ProfilePhoto { get; private set; }
public SubAccount(long accountId, long subAccountRoleId, string nationalCode, string fName, string lName, string phoneNumber, string username, string password,string profilePhoto)
{
PhoneNumber = phoneNumber;
AccountId = accountId;
Username = username;
Password = password;
FName = fName;
LName = lName;
NationalCode = nationalCode;
ProfilePhoto = profilePhoto;
IsActive = IsActive.True;
SubAccountRoleId = subAccountRoleId;
}
public void ChangePassword(string newPassword)
{
Password = newPassword;
}
public void ChangePhoneNumber(string newPhoneNumber)
{
PhoneNumber = newPhoneNumber;
}
public void Edit(long subAccountRoleId, string nationalCode, string fName, string lName, string profilePhoto)
{
FName = fName;
LName = lName;
NationalCode = nationalCode;
ProfilePhoto = profilePhoto;
SubAccountRoleId = subAccountRoleId;
}
public void SetVerifyCode(string verifyCode)
{
VerifyCode = verifyCode;
}
public void Deactivate()
{
IsActive = IsActive.False;
}
public void Activate()
{
IsActive = IsActive.True;
}
public void AssignRole(long subAccountRoleId)
{
SubAccountRoleId = subAccountRoleId;
}
}
}