2025-09-27 08:46:36 +03:30
|
|
|
namespace CMSMicroservice.Domain.Entities;
|
|
|
|
|
//کاربر
|
|
|
|
|
public class User : BaseAuditableEntity
|
|
|
|
|
{
|
2025-11-12 02:24:02 +03:30
|
|
|
//نام
|
2025-09-27 08:46:36 +03:30
|
|
|
public string? FirstName { get; set; }
|
2025-11-12 02:24:02 +03:30
|
|
|
//نام خانوادگی
|
2025-09-27 08:46:36 +03:30
|
|
|
public string? LastName { get; set; }
|
2025-11-12 02:24:02 +03:30
|
|
|
//شماره موبایل
|
2025-09-27 08:46:36 +03:30
|
|
|
public string Mobile { get; set; }
|
2025-12-02 03:30:36 +03:30
|
|
|
//ایمیل
|
|
|
|
|
public string? Email { get; set; }
|
2025-11-12 02:24:02 +03:30
|
|
|
//کد ملی
|
2025-09-27 08:46:36 +03:30
|
|
|
public string? NationalCode { get; set; }
|
2025-11-12 02:24:02 +03:30
|
|
|
//آدرس آواتار
|
2025-09-27 08:46:36 +03:30
|
|
|
public string? AvatarPath { get; set; }
|
2025-11-12 02:24:02 +03:30
|
|
|
//شناسه والد
|
2025-09-27 08:46:36 +03:30
|
|
|
public long? ParentId { get; set; }
|
2025-11-12 02:24:02 +03:30
|
|
|
//User Navigation Property
|
2025-09-27 08:46:36 +03:30
|
|
|
public virtual User? Parent { get; set; }
|
2025-11-12 02:24:02 +03:30
|
|
|
//کد ارجاع
|
2025-09-27 23:48:41 +03:30
|
|
|
public string ReferralCode { get; set; }
|
2025-11-12 02:24:02 +03:30
|
|
|
//موبایل فعال شده؟
|
2025-09-27 23:48:41 +03:30
|
|
|
public bool IsMobileVerified { get; set; }
|
2025-11-12 02:24:02 +03:30
|
|
|
//تاریخ فعال سازی موبایل
|
2025-09-27 23:48:41 +03:30
|
|
|
public DateTime? MobileVerifiedAt { get; set; }
|
2025-11-12 02:24:02 +03:30
|
|
|
//قوانین پذیرفته شده؟
|
2025-09-28 06:30:13 +03:30
|
|
|
public bool IsRulesAccepted { get; set; }
|
2025-11-12 02:24:02 +03:30
|
|
|
//تاریخ پذیرش قوانین
|
2025-09-28 06:30:13 +03:30
|
|
|
public DateTime? RulesAcceptedAt { get; set; }
|
2025-11-12 02:24:02 +03:30
|
|
|
//اعلان ایمیل
|
2025-10-13 08:19:47 +03:30
|
|
|
public bool EmailNotifications { get; set; }
|
2025-11-12 02:24:02 +03:30
|
|
|
//اعلان پیامک
|
2025-10-13 08:19:47 +03:30
|
|
|
public bool SmsNotifications { get; set; }
|
2025-11-12 02:24:02 +03:30
|
|
|
//اعلان پوش
|
2025-10-13 08:19:47 +03:30
|
|
|
public bool PushNotifications { get; set; }
|
2025-11-12 02:24:02 +03:30
|
|
|
//تاریخ تولد
|
2025-10-13 08:19:47 +03:30
|
|
|
public DateTime? BirthDate { get; set; }
|
2025-11-12 22:16:08 +03:30
|
|
|
//پسوورد هش کاربر
|
|
|
|
|
public string? HashPassword { get; set; }
|
2025-11-29 03:44:41 +03:30
|
|
|
|
|
|
|
|
// ============= Network Club System Fields =============
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// شناسه والد در شبکه باینری
|
|
|
|
|
/// </summary>
|
|
|
|
|
public long? NetworkParentId { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Network Parent Navigation Property
|
|
|
|
|
/// </summary>
|
|
|
|
|
public virtual User? NetworkParent { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// موقعیت در شبکه (شاخه چپ یا راست)
|
|
|
|
|
/// </summary>
|
|
|
|
|
public NetworkLeg? LegPosition { get; set; }
|
|
|
|
|
|
2025-12-02 03:30:36 +03:30
|
|
|
/// <summary>
|
|
|
|
|
/// آیا اعتبار دایا را دریافت کرده است؟
|
|
|
|
|
/// </summary>
|
|
|
|
|
public bool HasReceivedDayaCredit { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// تاریخ دریافت اعتبار دایا
|
|
|
|
|
/// </summary>
|
|
|
|
|
public DateTime? DayaCreditReceivedAt { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// نحوه خرید پکیج طلایی (برای جلوگیری از خرید مجدد)
|
|
|
|
|
/// </summary>
|
|
|
|
|
public PackagePurchaseMethod PackagePurchaseMethod { get; set; } = PackagePurchaseMethod.None;
|
|
|
|
|
|
2025-11-29 03:44:41 +03:30
|
|
|
// ============= Navigation Properties =============
|
|
|
|
|
|
2025-09-27 08:46:36 +03:30
|
|
|
//UserAddress Collection Navigation Reference
|
|
|
|
|
public virtual ICollection<UserAddress> UserAddresss { get; set; }
|
|
|
|
|
//UserRole Collection Navigation Reference
|
|
|
|
|
public virtual ICollection<UserRole> UserRoles { get; set; }
|
2025-11-12 02:24:02 +03:30
|
|
|
//UserCarts Collection Navigation Reference
|
|
|
|
|
public virtual ICollection<UserCarts> UserCartss { get; set; }
|
2025-11-12 22:16:08 +03:30
|
|
|
//User Collection Navigation Reference
|
|
|
|
|
public virtual ICollection<User> Users { get; set; }
|
2025-11-16 00:53:15 +03:30
|
|
|
//UserContract Collection Navigation Reference
|
|
|
|
|
public virtual ICollection<UserContract> UserContracts { get; set; }
|
2025-11-25 02:03:51 +03:30
|
|
|
//UserOrder Collection Navigation Reference
|
|
|
|
|
public virtual ICollection<UserOrder> UserOrders { get; set; }
|
|
|
|
|
//UserWallet Collection Navigation Reference
|
|
|
|
|
public virtual ICollection<UserWallet> UserWallets { get; set; }
|
2025-11-29 03:44:41 +03:30
|
|
|
//NetworkChildren Collection Navigation Reference (فرزندان در شبکه باینری)
|
|
|
|
|
public virtual ICollection<User>? NetworkChildren { get; set; }
|
|
|
|
|
//ClubMembership Navigation Reference
|
|
|
|
|
public virtual ClubMembership? ClubMembership { get; set; }
|
|
|
|
|
//UserClubFeature Collection Navigation Reference
|
|
|
|
|
public virtual ICollection<UserClubFeature>? UserClubFeatures { get; set; }
|
|
|
|
|
//NetworkWeeklyBalance Collection Navigation Reference
|
|
|
|
|
public virtual ICollection<NetworkWeeklyBalance>? NetworkWeeklyBalances { get; set; }
|
|
|
|
|
//UserCommissionPayout Collection Navigation Reference
|
|
|
|
|
public virtual ICollection<UserCommissionPayout>? CommissionPayouts { get; set; }
|
2025-12-02 03:30:36 +03:30
|
|
|
//DayaLoanContract Collection Navigation Reference
|
|
|
|
|
public virtual ICollection<DayaLoanContract>? DayaLoanContracts { get; set; }
|
2025-11-12 02:24:02 +03:30
|
|
|
}
|