ccb938e9ba
Proto (package.proto): - Add 11 new Package fields to Create/Update/Get/GetAll messages - Add 8 new fields to CustomerPackageModel for frontend Critical Bug Fixes: - VerifyGoldenPackagePurchase: Replace hardcoded ×2 with package.DiscountMultiplier from DB Query Fixes: - GetAllPackageByFilter: Add IsDeleted filter (was returning soft-deleted packages) - GetCustomerPackages: Apply IsDeleted+IncludeInactive filters, sort by SortOrder, return new fields - GetCustomerPackageDetails: Load PackageFeatures from DB (was hardcoded), add IsDeleted filter, return new fields - GetCustomerPurchaseHistory: Include Transaction (was null → ReferenceCode always empty) UpdatePackage: Add 12 new fields (SortOrder, IsActive, IsBasePackage, etc.) Build: 0 errors
37 lines
1.3 KiB
C#
37 lines
1.3 KiB
C#
namespace CMSMicroservice.Application.PackageCQ.Queries.GetCustomerPackageDetails;
|
|
|
|
public class GetCustomerPackageDetailsResponseDto
|
|
{
|
|
public long Id { get; set; }
|
|
public string Title { get; set; }
|
|
public string Description { get; set; }
|
|
public long Price { get; set; }
|
|
public string ImagePath { get; set; }
|
|
public List<PackageFeatureDto> Features { get; set; } = new();
|
|
public PurchaseRequirementsDto Requirements { get; set; }
|
|
// New package-based fields
|
|
public long ActivationFee { get; set; }
|
|
public double DiscountMultiplier { get; set; }
|
|
public double MagicWalletMultiplier { get; set; }
|
|
public long MagicWalletMaxDeposit { get; set; }
|
|
public long MagicWalletMaxCredit { get; set; }
|
|
public bool IsBasePackage { get; set; }
|
|
public bool SupportsDayaPurchase { get; set; }
|
|
public bool SupportsDirectPurchase { get; set; }
|
|
}
|
|
|
|
public class PackageFeatureDto
|
|
{
|
|
public string Title { get; set; }
|
|
public string Description { get; set; }
|
|
public string Icon { get; set; }
|
|
public bool IsHighlighted { get; set; }
|
|
}
|
|
|
|
public class PurchaseRequirementsDto
|
|
{
|
|
public bool RequiresMembership { get; set; }
|
|
public long MinimumWalletBalance { get; set; }
|
|
public List<string> Restrictions { get; set; } = new();
|
|
}
|