8518c7b3ec
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 8m9s
- Updated AcceptClubMembershipContractCommandHandler to set PackagePurchasedAt to the contract-signing time, ensuring accurate pool charging. - Modified ActivateClubMembershipCommand to allow specifying a PackageId for forced activation, defaulting to the base package if not provided. - Improved ActivateClubMembershipCommandHandler to handle new and existing memberships differently regarding pool charging. - Added validation logic in GetWeeklyCommissionPoolQueryHandler to compare TotalPoolAmount against actual activations. - Introduced validation fields in WeeklyCommissionPoolDto for tracking discrepancies and expected amounts. - Updated stored procedures to ensure accurate calculations based on package purchases and to handle empty pools. - Enhanced protobuf definitions to include validation fields for commission pools and network tree nodes. - Added mapping for new fields in CommissionProfile and NetworkMembershipProfile. - Created DiscountProductProfile for mapping discount product requests and responses.
27 lines
910 B
C#
27 lines
910 B
C#
using CMSMicroservice.Application.Common.Models;
|
|
using MediatR;
|
|
|
|
namespace CMSMicroservice.Application.ClubMembershipCQ.Commands.ActivateClubMembership;
|
|
|
|
/// <summary>
|
|
/// Command برای فعالسازی عضویت باشگاه مشتریان یک کاربر
|
|
/// </summary>
|
|
public record ActivateClubMembershipCommand : IRequest<bool>
|
|
{
|
|
/// <summary>
|
|
/// شناسه کاربر
|
|
/// </summary>
|
|
public long UserId { get; init; }
|
|
|
|
/// <summary>
|
|
/// فعالسازی اجباری توسط ادمین — بدون بررسی سفارش و کیفپول
|
|
/// </summary>
|
|
public bool ForceActivation { get; init; }
|
|
|
|
/// <summary>
|
|
/// شناسه پکیج — فقط در ForceActivation استفاده میشود.
|
|
/// اگر 0 باشد، پکیج پایه (IsBasePackage) استفاده میشود.
|
|
/// </summary>
|
|
public long PackageId { get; init; }
|
|
}
|