feat: Implement customer profile and referral queries
- Add GetCustomerProfileResponseDto for retrieving customer profile information. - Create GetCustomerReferralsQuery and GetCustomerReferralsQueryHandler to fetch customer referrals with pagination and filtering options. - Introduce GetCustomerReferralsResponseDto to structure the response for customer referrals. - Implement GetCustomerSettingsQuery and GetCustomerSettingsQueryHandler to retrieve user settings. - Add GetCustomerOrder and GetCustomerOrderQueryHandler for fetching specific customer orders. - Create GetCustomerOrderHistoryQuery and GetCustomerOrderHistoryQueryHandler to retrieve order history with filtering options. - Implement GetCustomerOrdersQuery and GetCustomerOrdersQueryHandler for fetching multiple customer orders with filters. - Add GetCustomerWalletChangeLogQuery and GetCustomerWalletChangeLogQueryHandler for retrieving wallet change logs. - Implement GetCustomerWithdrawalSettingsQuery and GetCustomerWithdrawalSettingsQueryHandler for fetching withdrawal settings. - Create GetCustomerWithdrawalsQuery and GetCustomerWithdrawalsQueryHandler to retrieve customer withdrawal requests.
This commit is contained in:
+18
-2
@@ -8,21 +8,37 @@ public class GetNetworkTreeQueryHandler : IRequestHandler<GetNetworkTreeQuery, N
|
||||
{
|
||||
private readonly IApplicationDbContext _context;
|
||||
private readonly ILogger<GetNetworkTreeQueryHandler> _logger;
|
||||
private readonly ICurrentUserService _currentUser;
|
||||
|
||||
public GetNetworkTreeQueryHandler(
|
||||
IApplicationDbContext context,
|
||||
ILogger<GetNetworkTreeQueryHandler> logger)
|
||||
ILogger<GetNetworkTreeQueryHandler> logger,
|
||||
ICurrentUserService currentUser)
|
||||
{
|
||||
_context = context;
|
||||
_logger = logger;
|
||||
_currentUser = currentUser;
|
||||
}
|
||||
|
||||
public async Task<NetworkTreeDto?> Handle(GetNetworkTreeQuery request, CancellationToken cancellationToken)
|
||||
{
|
||||
// Get userId - use current user if UserId is 0
|
||||
var userId = request.UserId == 0
|
||||
? (long.TryParse(_currentUser.UserId, out var currentUserId) ? currentUserId : 0)
|
||||
: request.UserId;
|
||||
|
||||
if (userId == 0)
|
||||
{
|
||||
throw new UnauthorizedAccessException("User ID not found");
|
||||
}
|
||||
|
||||
// Create a new request with the resolved userId
|
||||
var resolvedRequest = request with { UserId = userId };
|
||||
|
||||
try
|
||||
{
|
||||
// دریافت نتایج flat از Stored Procedure
|
||||
var flatNodes = await ExecuteStoredProcedureAsync(request, cancellationToken);
|
||||
var flatNodes = await ExecuteStoredProcedureAsync(resolvedRequest, cancellationToken);
|
||||
|
||||
if (flatNodes == null || !flatNodes.Any())
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user