feat: Add core entities and history tables for network-club system
Core Entities: - Add SystemConfiguration for dynamic config management - Add ClubMembership, ClubFeature, UserClubFeature for club management - Add NetworkWeeklyBalance for binary network tracking - Add WeeklyCommissionPool, UserCommissionPayout for commission system History Entities (Audit Trail): - Add ClubMembershipHistory - Add NetworkMembershipHistory - Add CommissionPayoutHistory - Add SystemConfigurationHistory Updates to Existing Entities: - User: Add NetworkParentId, LegPosition, and navigation properties - UserWallet: Add NetworkBalance and DiscountBalance fields - Products: Add IsClubExclusive and ClubDiscountPercent fields - GlobalUsings: Add new namespaces for club/network/commission entities
This commit is contained in:
37
src/CMSMicroservice.Domain/Entities/Club/ClubFeature.cs
Normal file
37
src/CMSMicroservice.Domain/Entities/Club/ClubFeature.cs
Normal file
@@ -0,0 +1,37 @@
|
||||
namespace CMSMicroservice.Domain.Entities.Club;
|
||||
|
||||
/// <summary>
|
||||
/// فیچرهای باشگاه مشتریان (امکانات ویژه)
|
||||
/// </summary>
|
||||
public class ClubFeature : BaseAuditableEntity
|
||||
{
|
||||
/// <summary>
|
||||
/// نام فیچر
|
||||
/// </summary>
|
||||
public string Title { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// توضیحات
|
||||
/// </summary>
|
||||
public string? Description { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// وضعیت فعال/غیرفعال
|
||||
/// </summary>
|
||||
public bool IsActive { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// امتیاز لازم برای دریافت (اختیاری)
|
||||
/// </summary>
|
||||
public int? RequiredPoints { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// ترتیب نمایش
|
||||
/// </summary>
|
||||
public int SortOrder { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// UserClubFeature Collection Navigation Reference
|
||||
/// </summary>
|
||||
public virtual ICollection<UserClubFeature>? UserClubFeatures { get; set; }
|
||||
}
|
||||
47
src/CMSMicroservice.Domain/Entities/Club/ClubMembership.cs
Normal file
47
src/CMSMicroservice.Domain/Entities/Club/ClubMembership.cs
Normal file
@@ -0,0 +1,47 @@
|
||||
namespace CMSMicroservice.Domain.Entities.Club;
|
||||
|
||||
/// <summary>
|
||||
/// عضویت در باشگاه مشتریان
|
||||
/// </summary>
|
||||
public class ClubMembership : BaseAuditableEntity
|
||||
{
|
||||
/// <summary>
|
||||
/// شناسه کاربر
|
||||
/// </summary>
|
||||
public long UserId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// User Navigation Property
|
||||
/// </summary>
|
||||
public virtual User User { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// وضعیت فعال/غیرفعال عضویت
|
||||
/// </summary>
|
||||
public bool IsActive { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// تاریخ فعالسازی عضویت
|
||||
/// </summary>
|
||||
public DateTime? ActivatedAt { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// مبلغ اولیه پرداختی برای فعالسازی (معمولاً ۲۵ میلیون تومان)
|
||||
/// </summary>
|
||||
public long InitialContribution { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// مجموع درآمد کارمزد تاکنون (ریال)
|
||||
/// </summary>
|
||||
public long TotalEarned { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// UserClubFeature Collection Navigation Reference
|
||||
/// </summary>
|
||||
public virtual ICollection<UserClubFeature>? UserClubFeatures { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// ClubMembershipHistory Collection Navigation Reference
|
||||
/// </summary>
|
||||
public virtual ICollection<ClubMembershipHistory>? ClubMembershipHistories { get; set; }
|
||||
}
|
||||
47
src/CMSMicroservice.Domain/Entities/Club/UserClubFeature.cs
Normal file
47
src/CMSMicroservice.Domain/Entities/Club/UserClubFeature.cs
Normal file
@@ -0,0 +1,47 @@
|
||||
namespace CMSMicroservice.Domain.Entities.Club;
|
||||
|
||||
/// <summary>
|
||||
/// جدول واسط: کاربر – فیچر (فیچرهای فعال شده برای کاربر)
|
||||
/// </summary>
|
||||
public class UserClubFeature : BaseAuditableEntity
|
||||
{
|
||||
/// <summary>
|
||||
/// شناسه کاربر
|
||||
/// </summary>
|
||||
public long UserId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// User Navigation Property
|
||||
/// </summary>
|
||||
public virtual User User { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// شناسه عضویت باشگاه
|
||||
/// </summary>
|
||||
public long ClubMembershipId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// ClubMembership Navigation Property
|
||||
/// </summary>
|
||||
public virtual ClubMembership ClubMembership { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// شناسه فیچر
|
||||
/// </summary>
|
||||
public long ClubFeatureId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// ClubFeature Navigation Property
|
||||
/// </summary>
|
||||
public virtual ClubFeature ClubFeature { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// تاریخ فعالسازی فیچر برای کاربر
|
||||
/// </summary>
|
||||
public DateTime GrantedAt { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// یادداشت اختیاری
|
||||
/// </summary>
|
||||
public string? Notes { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,77 @@
|
||||
namespace CMSMicroservice.Domain.Entities.Commission;
|
||||
|
||||
/// <summary>
|
||||
/// پرداخت کمیسیون به کاربران
|
||||
/// </summary>
|
||||
public class UserCommissionPayout : BaseAuditableEntity
|
||||
{
|
||||
/// <summary>
|
||||
/// شناسه کاربر
|
||||
/// </summary>
|
||||
public long UserId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// User Navigation Property
|
||||
/// </summary>
|
||||
public virtual User User { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// شماره هفته
|
||||
/// </summary>
|
||||
public string WeekNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// شناسه استخر هفتگی
|
||||
/// </summary>
|
||||
public long WeeklyPoolId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// WeeklyCommissionPool Navigation Property
|
||||
/// </summary>
|
||||
public virtual WeeklyCommissionPool WeeklyPool { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// تعداد امتیازی که کاربر داشت
|
||||
/// </summary>
|
||||
public int BalancesEarned { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// ارزش هر امتیاز (ریال)
|
||||
/// </summary>
|
||||
public long ValuePerBalance { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// مبلغ کل: BalancesEarned × ValuePerBalance
|
||||
/// </summary>
|
||||
public long TotalAmount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// وضعیت پرداخت
|
||||
/// </summary>
|
||||
public CommissionPayoutStatus Status { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// تاریخ واریز به کیف پول
|
||||
/// </summary>
|
||||
public DateTime? PaidAt { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// روش برداشت (اگر کاربر درخواست برداشت داده)
|
||||
/// </summary>
|
||||
public WithdrawalMethod? WithdrawalMethod { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// شماره شبای برداشت (اگر نقدی)
|
||||
/// </summary>
|
||||
public string? IbanNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// تاریخ برداشت نقدی/الماس
|
||||
/// </summary>
|
||||
public DateTime? WithdrawnAt { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// CommissionPayoutHistory Collection Navigation Reference
|
||||
/// </summary>
|
||||
public virtual ICollection<CommissionPayoutHistory>? CommissionPayoutHistories { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
namespace CMSMicroservice.Domain.Entities.Commission;
|
||||
|
||||
/// <summary>
|
||||
/// استخر کارمزد هفتگی
|
||||
/// </summary>
|
||||
public class WeeklyCommissionPool : BaseAuditableEntity
|
||||
{
|
||||
/// <summary>
|
||||
/// شماره هفته (مثال: "2025-W48")
|
||||
/// </summary>
|
||||
public string WeekNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// مجموع مبلغ جمعشده در استخر (ریال)
|
||||
/// </summary>
|
||||
public long TotalPoolAmount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// مجموع تعادلهای کل سیستم در این هفته
|
||||
/// </summary>
|
||||
public int TotalBalances { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// مبلغ ریالی هر امتیاز (TotalPoolAmount ÷ TotalBalances)
|
||||
/// </summary>
|
||||
public long ValuePerBalance { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// آیا محاسبه و توزیع شده
|
||||
/// </summary>
|
||||
public bool IsCalculated { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// تاریخ محاسبه و توزیع
|
||||
/// </summary>
|
||||
public DateTime? CalculatedAt { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// UserCommissionPayout Collection Navigation Reference
|
||||
/// </summary>
|
||||
public virtual ICollection<UserCommissionPayout>? UserCommissionPayouts { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
namespace CMSMicroservice.Domain.Entities.Configuration;
|
||||
|
||||
/// <summary>
|
||||
/// تنظیمات پویای سیستم - قابل تغییر بدون Deployment
|
||||
/// </summary>
|
||||
public class SystemConfiguration : BaseAuditableEntity
|
||||
{
|
||||
/// <summary>
|
||||
/// محدوده تنظیمات (System, Network, Club, Commission)
|
||||
/// </summary>
|
||||
public ConfigurationScope Scope { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// کلید تنظیم (مثلاً "MaxWeeklyBalancesPerUser")
|
||||
/// </summary>
|
||||
public string Key { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// مقدار بهصورت رشته (تفسیر در Application Layer)
|
||||
/// </summary>
|
||||
public string Value { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// نوع داده برای Validation و UI (Int/Decimal/Bool/String/Json)
|
||||
/// </summary>
|
||||
public string? DataType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// توضیحات برای ادمین
|
||||
/// </summary>
|
||||
public string? Description { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// فعال یا غیرفعال
|
||||
/// </summary>
|
||||
public bool IsActive { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// SystemConfigurationHistory Collection Navigation Reference
|
||||
/// </summary>
|
||||
public virtual ICollection<SystemConfigurationHistory>? SystemConfigurationHistories { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,57 @@
|
||||
namespace CMSMicroservice.Domain.Entities.History;
|
||||
|
||||
/// <summary>
|
||||
/// تاریخچه تغییرات عضویت باشگاه (برای Audit)
|
||||
/// </summary>
|
||||
public class ClubMembershipHistory : BaseAuditableEntity
|
||||
{
|
||||
/// <summary>
|
||||
/// شناسه عضویت باشگاه
|
||||
/// </summary>
|
||||
public long ClubMembershipId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// ClubMembership Navigation Property
|
||||
/// </summary>
|
||||
public virtual ClubMembership? ClubMembership { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// شناسه کاربر
|
||||
/// </summary>
|
||||
public long UserId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// وضعیت فعال قبل از تغییر
|
||||
/// </summary>
|
||||
public bool OldIsActive { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// وضعیت فعال بعد از تغییر
|
||||
/// </summary>
|
||||
public bool NewIsActive { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// مبلغ مشارکت قبل از تغییر
|
||||
/// </summary>
|
||||
public long? OldInitialContribution { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// مبلغ مشارکت بعد از تغییر
|
||||
/// </summary>
|
||||
public long? NewInitialContribution { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// نوع عملیات (Activated, Deactivated, Updated, ManualFix)
|
||||
/// </summary>
|
||||
public ClubMembershipAction Action { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// دلیل تغییر (اختیاری)
|
||||
/// </summary>
|
||||
public string? Reason { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// چه کسی انجام داده (UserId یا "System")
|
||||
/// </summary>
|
||||
public string? PerformedBy { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
namespace CMSMicroservice.Domain.Entities.History;
|
||||
|
||||
/// <summary>
|
||||
/// تاریخچه تغییرات پرداخت کمیسیون (برای Audit)
|
||||
/// </summary>
|
||||
public class CommissionPayoutHistory : BaseAuditableEntity
|
||||
{
|
||||
/// <summary>
|
||||
/// شناسه پرداخت کمیسیون
|
||||
/// </summary>
|
||||
public long UserCommissionPayoutId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// UserCommissionPayout Navigation Property
|
||||
/// </summary>
|
||||
public virtual UserCommissionPayout? UserCommissionPayout { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// شناسه کاربر
|
||||
/// </summary>
|
||||
public long UserId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// شماره هفته
|
||||
/// </summary>
|
||||
public string WeekNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// مبلغ قبل از تغییر
|
||||
/// </summary>
|
||||
public long AmountBefore { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// مبلغ بعد از تغییر
|
||||
/// </summary>
|
||||
public long AmountAfter { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// وضعیت قبل از تغییر
|
||||
/// </summary>
|
||||
public CommissionPayoutStatus OldStatus { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// وضعیت بعد از تغییر
|
||||
/// </summary>
|
||||
public CommissionPayoutStatus NewStatus { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// نوع عملیات (Created, Paid, WithdrawRequested, Withdrawn, Cancelled, ManualFix)
|
||||
/// </summary>
|
||||
public CommissionPayoutAction Action { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// چه کسی انجام داده (UserId یا "System")
|
||||
/// </summary>
|
||||
public string? PerformedBy { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// دلیل تغییر (اختیاری)
|
||||
/// </summary>
|
||||
public string? Reason { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
namespace CMSMicroservice.Domain.Entities.History;
|
||||
|
||||
/// <summary>
|
||||
/// تاریخچه جابجایی در شبکه باینری (برای Audit)
|
||||
/// </summary>
|
||||
public class NetworkMembershipHistory : BaseAuditableEntity
|
||||
{
|
||||
/// <summary>
|
||||
/// شناسه کاربر
|
||||
/// </summary>
|
||||
public long UserId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// شناسه والد قبل از تغییر
|
||||
/// </summary>
|
||||
public long? OldParentId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// شناسه والد بعد از تغییر
|
||||
/// </summary>
|
||||
public long? NewParentId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// موقعیت شاخه قبل از تغییر
|
||||
/// </summary>
|
||||
public NetworkLeg? OldLegPosition { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// موقعیت شاخه بعد از تغییر
|
||||
/// </summary>
|
||||
public NetworkLeg? NewLegPosition { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// نوع عملیات (Join, Move, Remove)
|
||||
/// </summary>
|
||||
public NetworkMembershipAction Action { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// دلیل تغییر (اختیاری)
|
||||
/// </summary>
|
||||
public string? Reason { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// چه کسی انجام داده (UserId یا "System")
|
||||
/// </summary>
|
||||
public string? PerformedBy { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
namespace CMSMicroservice.Domain.Entities.History;
|
||||
|
||||
/// <summary>
|
||||
/// تاریخچه تغییرات تنظیمات سیستم (برای Audit)
|
||||
/// </summary>
|
||||
public class SystemConfigurationHistory : BaseAuditableEntity
|
||||
{
|
||||
/// <summary>
|
||||
/// شناسه تنظیم
|
||||
/// </summary>
|
||||
public long ConfigurationId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// SystemConfiguration Navigation Property
|
||||
/// </summary>
|
||||
public virtual SystemConfiguration? Configuration { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// محدوده تنظیمات
|
||||
/// </summary>
|
||||
public ConfigurationScope Scope { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// کلید تنظیم
|
||||
/// </summary>
|
||||
public string Key { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// مقدار قبل از تغییر
|
||||
/// </summary>
|
||||
public string OldValue { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// مقدار بعد از تغییر
|
||||
/// </summary>
|
||||
public string NewValue { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// دلیل تغییر (اختیاری)
|
||||
/// </summary>
|
||||
public string? Reason { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// چه کسی انجام داده (UserId یا "System")
|
||||
/// </summary>
|
||||
public string? PerformedBy { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
namespace CMSMicroservice.Domain.Entities.Network;
|
||||
|
||||
/// <summary>
|
||||
/// تعادلهای هفتگی شبکه باینری
|
||||
/// </summary>
|
||||
public class NetworkWeeklyBalance : BaseAuditableEntity
|
||||
{
|
||||
/// <summary>
|
||||
/// شناسه کاربر
|
||||
/// </summary>
|
||||
public long UserId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// User Navigation Property
|
||||
/// </summary>
|
||||
public virtual User User { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// شماره هفته (مثال: "2025-W48")
|
||||
/// </summary>
|
||||
public string WeekNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// تعداد تعادل شاخه چپ در این هفته
|
||||
/// </summary>
|
||||
public int LeftLegBalances { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// تعداد تعادل شاخه راست در این هفته
|
||||
/// </summary>
|
||||
public int RightLegBalances { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// امتیاز کاربر: MIN(LeftLegBalances, RightLegBalances)
|
||||
/// </summary>
|
||||
public int TotalBalances { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// مبلغی که از این کاربر به استخر هفتگی اضافه شد (ریال)
|
||||
/// </summary>
|
||||
public long WeeklyPoolContribution { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// زمان محاسبه توسط Worker
|
||||
/// </summary>
|
||||
public DateTime? CalculatedAt { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// آیا منقضی شده (بعد از توزیع کمیسیون)
|
||||
/// </summary>
|
||||
public bool IsExpired { get; set; }
|
||||
}
|
||||
@@ -14,6 +14,21 @@ public class Products : BaseAuditableEntity
|
||||
public int SaleCount { get; set; }
|
||||
public int ViewCount { get; set; }
|
||||
public int RemainingCount { get; set; }
|
||||
|
||||
// ============= Club Shop Fields =============
|
||||
|
||||
/// <summary>
|
||||
/// آیا این محصول فقط در فروشگاه باشگاه موجود است
|
||||
/// </summary>
|
||||
public bool IsClubExclusive { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// درصد تخفیف باشگاه (0 تا 100)
|
||||
/// </summary>
|
||||
public int ClubDiscountPercent { get; set; }
|
||||
|
||||
// ============= Navigation Properties =============
|
||||
|
||||
//UserCarts Collection Navigation Reference
|
||||
public virtual ICollection<UserCarts> UserCartss { get; set; }
|
||||
//ProductGallerys Collection Navigation Reference
|
||||
|
||||
@@ -36,6 +36,26 @@ public class User : BaseAuditableEntity
|
||||
public DateTime? BirthDate { get; set; }
|
||||
//پسوورد هش کاربر
|
||||
public string? HashPassword { get; set; }
|
||||
|
||||
// ============= 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; }
|
||||
|
||||
// ============= Navigation Properties =============
|
||||
|
||||
//UserAddress Collection Navigation Reference
|
||||
public virtual ICollection<UserAddress> UserAddresss { get; set; }
|
||||
//UserRole Collection Navigation Reference
|
||||
@@ -50,4 +70,14 @@ public class User : BaseAuditableEntity
|
||||
public virtual ICollection<UserOrder> UserOrders { get; set; }
|
||||
//UserWallet Collection Navigation Reference
|
||||
public virtual ICollection<UserWallet> UserWallets { get; set; }
|
||||
//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; }
|
||||
}
|
||||
|
||||
@@ -8,8 +8,17 @@ public class UserWallet : BaseAuditableEntity
|
||||
public virtual User User { get; set; }
|
||||
//موجودی
|
||||
public long Balance { get; set; }
|
||||
//موجودی شبکه
|
||||
|
||||
/// <summary>
|
||||
/// موجودی شبکه/کارمزد (کیف پول طلایی) - قابل برداشت نقدی یا خرید الماس
|
||||
/// </summary>
|
||||
public long NetworkBalance { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// موجودی تخفیف - فقط برای خرید از فروشگاه باشگاه مشتریان
|
||||
/// </summary>
|
||||
public long DiscountBalance { get; set; }
|
||||
|
||||
//UserWalletChangeLog Collection Navigation Reference
|
||||
public virtual ICollection<UserWalletChangeLog> UserWalletChangeLogs { get; set; }
|
||||
}
|
||||
|
||||
@@ -1,6 +1,11 @@
|
||||
global using CMSMicroservice.Domain.Common;
|
||||
global using CMSMicroservice.Domain.Entities;
|
||||
|
||||
global using CMSMicroservice.Domain.Entities.Club;
|
||||
global using CMSMicroservice.Domain.Entities.Network;
|
||||
global using CMSMicroservice.Domain.Entities.Commission;
|
||||
global using CMSMicroservice.Domain.Entities.Configuration;
|
||||
global using CMSMicroservice.Domain.Entities.History;
|
||||
global using CMSMicroservice.Domain.Enums;
|
||||
global using CMSMicroservice.Domain.Events;
|
||||
global using System.Threading;
|
||||
global using System.Threading.Tasks;
|
||||
|
||||
Reference in New Issue
Block a user