masoodafar-web
|
ae92ab8697
|
Phase 1: Package-Based Domain Infrastructure
ENTITIES:
- Package: +11 fields (SortOrder, IsActive, IsBasePackage, SupportsDaya/Direct,
ActivationFee, DiscountMultiplier, MagicWalletMultiplier, MaxBalancesPerLeg,
MaxNetworkLevel, MagicWalletMaxDeposit/Credit) + nav props
- PackageFeature: NEW junction entity (Package × ClubFeature) for feature DIFF
- ClubMembership: +4 fields (FirstActivationDate/PackageId, LastActivation/PackageId)
ActivatedAt kept as [Obsolete] for backward compat
- ClubMembershipCycle: +PackageId FK (tracks which package per cycle)
- WeeklyCommissionPool: +PackageId FK (separate pool per package)
- UserCommissionPayout: +PackageId FK (payout per package)
- NetworkWeeklyBalance: +PackageId FK (balance per package)
- UserWalletChangeLog: +PackageId? FK (optional package tracking)
EF CONFIGS:
- PackageConfiguration: 11 new field configs + indexes
- PackageFeatureConfiguration: NEW (unique PackageId+ClubFeatureId)
- ClubMembershipConfiguration: First/Last Package FKs + LastActivationDate index
- ClubMembershipCycleConfiguration: Package FK
- WeeklyCommissionPoolConfiguration: Package FK + unique(WeekDef,Package)
- UserCommissionPayoutConfiguration: Package FK + unique(User,WeekDef,Package)
- NetworkWeeklyBalanceConfiguration: Package FK + unique(User,WeekDef,Package)
- UserWalletChangeLogConfiguration: Package FK (nullable)
DBCONTEXT:
- DbSet<PackageFeature> added to ApplicationDbContext + IApplicationDbContext
SYSTEMCONSTANTS:
- 9 constants marked [Obsolete] → moved to Package entity
(ClubMembershipGiftValue, ClubActivationFee, BasePackageAmount, DayaLoanAmount,
MagicWalletMultiplier, MagicWalletMaxDeposit, MagicWalletMaxCredit,
CommissionMaxWeeklyBalancesPerLeg, CommissionMaxNetworkLevel)
Build: 0 errors, 610 warnings (40 new = expected Obsolete CS0618)
|
2026-02-25 22:32:42 +03:30 |
|