Phase 4: Complete Package CRUD DTOs + Legacy Fixes

- CreateNewPackageCommand: Add 12 new Package fields (SortOrder, IsActive, IsBasePackage,
  SupportsDayaPurchase, SupportsDirectPurchase, ActivationFee, DiscountMultiplier,
  MagicWalletMultiplier, MaxBalancesPerLeg, MaxNetworkLevel, MagicWalletMaxDeposit,
  MagicWalletMaxCredit) with sensible defaults
- GetPackageResponseDto: Add 12 new fields (Mapster auto-maps via ProjectToType)
- GetAllPackageByFilterResponseModel: Add 12 new fields (Mapster auto-maps)
- PurchaseGoldenPackage: Replace fragile Title string match ('طلایی'/'golden')
  with proper IsDeleted/IsActive/SupportsDirectPurchase validation
- VerifyPackagePurchase: Replace hardcoded order.Amount*2 with
  package.DiscountMultiplier from DB (fallback 2.0 for null Package)
This commit is contained in:
masoodafar-web
2026-02-26 00:24:35 +03:30
parent ccb938e9ba
commit 0002a5a6f2
5 changed files with 56 additions and 12 deletions
@@ -11,5 +11,17 @@ public class GetPackageResponseDto
public string ImagePath { get; set; }
//قیمت
public long Price { get; set; }
// فیلدهای جدید پکیج
public int SortOrder { get; set; }
public bool IsActive { get; set; }
public bool IsBasePackage { get; set; }
public bool SupportsDayaPurchase { get; set; }
public bool SupportsDirectPurchase { get; set; }
public long ActivationFee { get; set; }
public decimal DiscountMultiplier { get; set; }
public decimal MagicWalletMultiplier { get; set; }
public int MaxBalancesPerLeg { get; set; }
public int MaxNetworkLevel { get; set; }
public long MagicWalletMaxDeposit { get; set; }
public long MagicWalletMaxCredit { get; set; }
}