71 lines
3.8 KiB
C#
71 lines
3.8 KiB
C#
|
|
using CMSMicroservice.Protobuf.Protos.Commission;
|
||
|
|
using CMSMicroservice.WebApi.Common.Services;
|
||
|
|
using CMSMicroservice.Application.CommissionCQ.Commands.CalculateWeeklyBalances;
|
||
|
|
using CMSMicroservice.Application.CommissionCQ.Commands.CalculateWeeklyCommissionPool;
|
||
|
|
using CMSMicroservice.Application.CommissionCQ.Commands.ProcessUserPayouts;
|
||
|
|
using CMSMicroservice.Application.CommissionCQ.Commands.RequestWithdrawal;
|
||
|
|
using CMSMicroservice.Application.CommissionCQ.Commands.ProcessWithdrawal;
|
||
|
|
using CMSMicroservice.Application.CommissionCQ.Queries.GetWeeklyCommissionPool;
|
||
|
|
using CMSMicroservice.Application.CommissionCQ.Queries.GetUserCommissionPayouts;
|
||
|
|
using CMSMicroservice.Application.CommissionCQ.Queries.GetCommissionPayoutHistory;
|
||
|
|
using CMSMicroservice.Application.CommissionCQ.Queries.GetUserWeeklyBalances;
|
||
|
|
|
||
|
|
namespace CMSMicroservice.WebApi.Services;
|
||
|
|
|
||
|
|
public class CommissionService : CommissionContract.CommissionContractBase
|
||
|
|
{
|
||
|
|
private readonly IDispatchRequestToCQRS _dispatchRequestToCQRS;
|
||
|
|
|
||
|
|
public CommissionService(IDispatchRequestToCQRS dispatchRequestToCQRS)
|
||
|
|
{
|
||
|
|
_dispatchRequestToCQRS = dispatchRequestToCQRS;
|
||
|
|
}
|
||
|
|
|
||
|
|
// Commands
|
||
|
|
public override async Task<Empty> CalculateWeeklyBalances(CalculateWeeklyBalancesRequest request, ServerCallContext context)
|
||
|
|
{
|
||
|
|
return await _dispatchRequestToCQRS.Handle<CalculateWeeklyBalancesRequest, CalculateWeeklyBalancesCommand>(request, context);
|
||
|
|
}
|
||
|
|
|
||
|
|
public override async Task<Empty> CalculateWeeklyCommissionPool(CalculateWeeklyCommissionPoolRequest request, ServerCallContext context)
|
||
|
|
{
|
||
|
|
return await _dispatchRequestToCQRS.Handle<CalculateWeeklyCommissionPoolRequest, CalculateWeeklyCommissionPoolCommand>(request, context);
|
||
|
|
}
|
||
|
|
|
||
|
|
public override async Task<Empty> ProcessUserPayouts(ProcessUserPayoutsRequest request, ServerCallContext context)
|
||
|
|
{
|
||
|
|
return await _dispatchRequestToCQRS.Handle<ProcessUserPayoutsRequest, ProcessUserPayoutsCommand>(request, context);
|
||
|
|
}
|
||
|
|
|
||
|
|
public override async Task<Empty> RequestWithdrawal(RequestWithdrawalRequest request, ServerCallContext context)
|
||
|
|
{
|
||
|
|
return await _dispatchRequestToCQRS.Handle<RequestWithdrawalRequest, RequestWithdrawalCommand>(request, context);
|
||
|
|
}
|
||
|
|
|
||
|
|
public override async Task<Empty> ProcessWithdrawal(ProcessWithdrawalRequest request, ServerCallContext context)
|
||
|
|
{
|
||
|
|
return await _dispatchRequestToCQRS.Handle<ProcessWithdrawalRequest, ProcessWithdrawalCommand>(request, context);
|
||
|
|
}
|
||
|
|
|
||
|
|
// Queries
|
||
|
|
public override async Task<GetWeeklyCommissionPoolResponse> GetWeeklyCommissionPool(GetWeeklyCommissionPoolRequest request, ServerCallContext context)
|
||
|
|
{
|
||
|
|
return await _dispatchRequestToCQRS.Handle<GetWeeklyCommissionPoolRequest, GetWeeklyCommissionPoolQuery, GetWeeklyCommissionPoolResponse>(request, context);
|
||
|
|
}
|
||
|
|
|
||
|
|
public override async Task<GetUserCommissionPayoutsResponse> GetUserCommissionPayouts(GetUserCommissionPayoutsRequest request, ServerCallContext context)
|
||
|
|
{
|
||
|
|
return await _dispatchRequestToCQRS.Handle<GetUserCommissionPayoutsRequest, GetUserCommissionPayoutsQuery, GetUserCommissionPayoutsResponse>(request, context);
|
||
|
|
}
|
||
|
|
|
||
|
|
public override async Task<GetCommissionPayoutHistoryResponse> GetCommissionPayoutHistory(GetCommissionPayoutHistoryRequest request, ServerCallContext context)
|
||
|
|
{
|
||
|
|
return await _dispatchRequestToCQRS.Handle<GetCommissionPayoutHistoryRequest, GetCommissionPayoutHistoryQuery, GetCommissionPayoutHistoryResponse>(request, context);
|
||
|
|
}
|
||
|
|
|
||
|
|
public override async Task<GetUserWeeklyBalancesResponse> GetUserWeeklyBalances(GetUserWeeklyBalancesRequest request, ServerCallContext context)
|
||
|
|
{
|
||
|
|
return await _dispatchRequestToCQRS.Handle<GetUserWeeklyBalancesRequest, GetUserWeeklyBalancesQuery, GetUserWeeklyBalancesResponse>(request, context);
|
||
|
|
}
|
||
|
|
}
|