From 6cd29e8b26dc8388eeb6d1ada2cc6c6ab3ae026c Mon Sep 17 00:00:00 2001 From: masoodafar-web Date: Sun, 30 Nov 2025 23:41:11 +0330 Subject: [PATCH] Add services for club and network membership management --- .../Services/ClubMembershipService.cs | 35 ++++++++ .../Services/CommissionService.cs | 84 +++++++++++++++++++ .../Services/NetworkMembershipService.cs | 44 ++++++++++ 3 files changed, 163 insertions(+) create mode 100644 src/BackOffice.BFF.WebApi/Services/ClubMembershipService.cs create mode 100644 src/BackOffice.BFF.WebApi/Services/CommissionService.cs create mode 100644 src/BackOffice.BFF.WebApi/Services/NetworkMembershipService.cs diff --git a/src/BackOffice.BFF.WebApi/Services/ClubMembershipService.cs b/src/BackOffice.BFF.WebApi/Services/ClubMembershipService.cs new file mode 100644 index 0000000..a3d35fe --- /dev/null +++ b/src/BackOffice.BFF.WebApi/Services/ClubMembershipService.cs @@ -0,0 +1,35 @@ +using BackOffice.BFF.WebApi.Common.Services; +using BackOffice.BFF.Application.ClubMembershipCQ.Commands.ActivateClub; +using BackOffice.BFF.Application.ClubMembershipCQ.Queries.GetAllClubMembers; +using CMSMicroservice.Protobuf.Protos.ClubMembership; +using Google.Protobuf.WellKnownTypes; + +namespace BackOffice.BFF.WebApi.Services; + +public class ClubMembershipService : ClubMembershipContract.ClubMembershipContractBase +{ + private readonly IDispatchRequestToCQRS _dispatchRequestToCQRS; + + public ClubMembershipService(IDispatchRequestToCQRS dispatchRequestToCQRS) + { + _dispatchRequestToCQRS = dispatchRequestToCQRS; + } + + public override async Task ActivateClubMembership( + ActivateClubMembershipRequest request, + ServerCallContext context) + { + return await _dispatchRequestToCQRS.Handle( + request, + context); + } + + public override async Task GetAllClubMemberships( + GetAllClubMembershipsRequest request, + ServerCallContext context) + { + return await _dispatchRequestToCQRS.Handle( + request, + context); + } +} diff --git a/src/BackOffice.BFF.WebApi/Services/CommissionService.cs b/src/BackOffice.BFF.WebApi/Services/CommissionService.cs new file mode 100644 index 0000000..ff7de44 --- /dev/null +++ b/src/BackOffice.BFF.WebApi/Services/CommissionService.cs @@ -0,0 +1,84 @@ +using BackOffice.BFF.WebApi.Common.Services; +using BackOffice.BFF.Application.CommissionCQ.Queries.GetWeeklyPool; +using BackOffice.BFF.Application.CommissionCQ.Queries.GetUserPayouts; +using BackOffice.BFF.Application.CommissionCQ.Queries.GetAllWeeklyPools; +using BackOffice.BFF.Application.CommissionCQ.Queries.GetWithdrawalRequests; +using BackOffice.BFF.Application.CommissionCQ.Commands.ApproveWithdrawal; +using BackOffice.BFF.Application.CommissionCQ.Commands.RejectWithdrawal; +using BackOffice.BFF.Application.CommissionCQ.Commands.ProcessWithdrawal; +using CMSMicroservice.Protobuf.Protos.Commission; + +namespace BackOffice.BFF.WebApi.Services; + +public class CommissionService : CommissionContract.CommissionContractBase +{ + private readonly IDispatchRequestToCQRS _dispatchRequestToCQRS; + + public CommissionService(IDispatchRequestToCQRS dispatchRequestToCQRS) + { + _dispatchRequestToCQRS = dispatchRequestToCQRS; + } + + public override async Task GetWeeklyCommissionPool( + GetWeeklyCommissionPoolRequest request, + ServerCallContext context) + { + return await _dispatchRequestToCQRS.Handle( + request, + context); + } + + public override async Task GetUserCommissionPayouts( + GetUserCommissionPayoutsRequest request, + ServerCallContext context) + { + return await _dispatchRequestToCQRS.Handle( + request, + context); + } + + public override async Task GetAllWeeklyPools( + GetAllWeeklyPoolsRequest request, + ServerCallContext context) + { + return await _dispatchRequestToCQRS.Handle( + request, + context); + } + + public override async Task GetWithdrawalRequests( + GetWithdrawalRequestsRequest request, + ServerCallContext context) + { + return await _dispatchRequestToCQRS.Handle( + request, + context); + } + + public override async Task ApproveWithdrawal( + ApproveWithdrawalRequest request, + ServerCallContext context) + { + return await _dispatchRequestToCQRS.Handle( + request, + context); + } + + public override async Task RejectWithdrawal( + RejectWithdrawalRequest request, + ServerCallContext context) + { + return await _dispatchRequestToCQRS.Handle( + request, + context); + } + + public override async Task ProcessWithdrawal( + ProcessWithdrawalRequest request, + ServerCallContext context) + { + return await _dispatchRequestToCQRS.Handle( + request, + context); + } +} diff --git a/src/BackOffice.BFF.WebApi/Services/NetworkMembershipService.cs b/src/BackOffice.BFF.WebApi/Services/NetworkMembershipService.cs new file mode 100644 index 0000000..cb801da --- /dev/null +++ b/src/BackOffice.BFF.WebApi/Services/NetworkMembershipService.cs @@ -0,0 +1,44 @@ +using BackOffice.BFF.WebApi.Common.Services; +using BackOffice.BFF.Application.NetworkMembershipCQ.Queries.GetUserNetworkInfo; +using BackOffice.BFF.Application.NetworkMembershipCQ.Queries.GetNetworkTree; +using BackOffice.BFF.Application.NetworkMembershipCQ.Queries.GetNetworkHistory; +using CMSMicroservice.Protobuf.Protos.NetworkMembership; + +namespace BackOffice.BFF.WebApi.Services; + +public class NetworkMembershipService : NetworkMembershipContract.NetworkMembershipContractBase +{ + private readonly IDispatchRequestToCQRS _dispatchRequestToCQRS; + + public NetworkMembershipService(IDispatchRequestToCQRS dispatchRequestToCQRS) + { + _dispatchRequestToCQRS = dispatchRequestToCQRS; + } + + public override async Task GetUserNetwork( + GetUserNetworkRequest request, + ServerCallContext context) + { + return await _dispatchRequestToCQRS.Handle( + request, + context); + } + + public override async Task GetNetworkTree( + GetNetworkTreeRequest request, + ServerCallContext context) + { + return await _dispatchRequestToCQRS.Handle( + request, + context); + } + + public override async Task GetNetworkMembershipHistory( + GetNetworkMembershipHistoryRequest request, + ServerCallContext context) + { + return await _dispatchRequestToCQRS.Handle( + request, + context); + } +}