From a9335c6de1cbe9be8b3a029be81ea2cac01bd705 Mon Sep 17 00:00:00 2001 From: MeysamMoghaddam <65253484+MeysamMoghaddam@users.noreply.github.com> Date: Mon, 13 Oct 2025 07:43:24 +0330 Subject: [PATCH] u --- .../CreateNewUserAddressCommandHandler.cs | 13 ++++++++++--- .../DeleteUserAddressCommandHandler.cs | 6 ++++-- .../UpdateUserAddressCommandHandler.cs | 6 ++++-- .../GetAllUserAddressByFilterQueryHandler.cs | 14 +++++++++++--- .../GetUserAddress/GetUserAddressQueryHandler.cs | 6 ++++-- 5 files changed, 33 insertions(+), 12 deletions(-) diff --git a/src/FrontOffice.BFF.Application/UserAddressCQ/Commands/CreateNewUserAddress/CreateNewUserAddressCommandHandler.cs b/src/FrontOffice.BFF.Application/UserAddressCQ/Commands/CreateNewUserAddress/CreateNewUserAddressCommandHandler.cs index b6e0b19..94c1523 100644 --- a/src/FrontOffice.BFF.Application/UserAddressCQ/Commands/CreateNewUserAddress/CreateNewUserAddressCommandHandler.cs +++ b/src/FrontOffice.BFF.Application/UserAddressCQ/Commands/CreateNewUserAddress/CreateNewUserAddressCommandHandler.cs @@ -1,16 +1,23 @@ +using CMSMicroservice.Protobuf.Protos.UserAddress; + namespace FrontOffice.BFF.Application.UserAddressCQ.Commands.CreateNewUserAddress; public class CreateNewUserAddressCommandHandler : IRequestHandler { private readonly IApplicationContractContext _context; + private readonly ICurrentUserService _currentUserService; - public CreateNewUserAddressCommandHandler(IApplicationContractContext context) + public CreateNewUserAddressCommandHandler(IApplicationContractContext context, ICurrentUserService currentUserService) { _context = context; + _currentUserService = currentUserService; } public async Task Handle(CreateNewUserAddressCommand request, CancellationToken cancellationToken) { - //TODO: Implement your business logic - return new CreateNewUserAddressResponseDto(); + var userId = _currentUserService.UserId ?? throw new ForbiddenAccessException(); + var req = request.Adapt(); + req.UserId = long.Parse(userId); + var response = await _context.UserAddress.CreateNewUserAddressAsync(request: req, cancellationToken: cancellationToken); + return response.Adapt(); } } diff --git a/src/FrontOffice.BFF.Application/UserAddressCQ/Commands/DeleteUserAddress/DeleteUserAddressCommandHandler.cs b/src/FrontOffice.BFF.Application/UserAddressCQ/Commands/DeleteUserAddress/DeleteUserAddressCommandHandler.cs index 4a25bb0..9c03b68 100644 --- a/src/FrontOffice.BFF.Application/UserAddressCQ/Commands/DeleteUserAddress/DeleteUserAddressCommandHandler.cs +++ b/src/FrontOffice.BFF.Application/UserAddressCQ/Commands/DeleteUserAddress/DeleteUserAddressCommandHandler.cs @@ -1,3 +1,5 @@ +using CMSMicroservice.Protobuf.Protos.UserAddress; + namespace FrontOffice.BFF.Application.UserAddressCQ.Commands.DeleteUserAddress; public class DeleteUserAddressCommandHandler : IRequestHandler { @@ -10,7 +12,7 @@ public class DeleteUserAddressCommandHandler : IRequestHandler Handle(DeleteUserAddressCommand request, CancellationToken cancellationToken) { - //TODO: Implement your business logic - return new Unit(); + await _context.UserAddress.DeleteUserAddressAsync(request: request.Adapt(), cancellationToken: cancellationToken); + return Unit.Value; } } diff --git a/src/FrontOffice.BFF.Application/UserAddressCQ/Commands/UpdateUserAddress/UpdateUserAddressCommandHandler.cs b/src/FrontOffice.BFF.Application/UserAddressCQ/Commands/UpdateUserAddress/UpdateUserAddressCommandHandler.cs index 7610ac6..639b1bc 100644 --- a/src/FrontOffice.BFF.Application/UserAddressCQ/Commands/UpdateUserAddress/UpdateUserAddressCommandHandler.cs +++ b/src/FrontOffice.BFF.Application/UserAddressCQ/Commands/UpdateUserAddress/UpdateUserAddressCommandHandler.cs @@ -1,3 +1,5 @@ +using CMSMicroservice.Protobuf.Protos.UserAddress; + namespace FrontOffice.BFF.Application.UserAddressCQ.Commands.UpdateUserAddress; public class UpdateUserAddressCommandHandler : IRequestHandler { @@ -10,7 +12,7 @@ public class UpdateUserAddressCommandHandler : IRequestHandler Handle(UpdateUserAddressCommand request, CancellationToken cancellationToken) { - //TODO: Implement your business logic - return new Unit(); + await _context.UserAddress.UpdateUserAddressAsync(request: request.Adapt(), cancellationToken: cancellationToken); + return Unit.Value; } } diff --git a/src/FrontOffice.BFF.Application/UserAddressCQ/Queries/GetAllUserAddressByFilter/GetAllUserAddressByFilterQueryHandler.cs b/src/FrontOffice.BFF.Application/UserAddressCQ/Queries/GetAllUserAddressByFilter/GetAllUserAddressByFilterQueryHandler.cs index db953fe..295b926 100644 --- a/src/FrontOffice.BFF.Application/UserAddressCQ/Queries/GetAllUserAddressByFilter/GetAllUserAddressByFilterQueryHandler.cs +++ b/src/FrontOffice.BFF.Application/UserAddressCQ/Queries/GetAllUserAddressByFilter/GetAllUserAddressByFilterQueryHandler.cs @@ -1,16 +1,24 @@ +using CMSMicroservice.Protobuf.Protos.UserAddress; + namespace FrontOffice.BFF.Application.UserAddressCQ.Queries.GetAllUserAddressByFilter; public class GetAllUserAddressByFilterQueryHandler : IRequestHandler { private readonly IApplicationContractContext _context; + private readonly ICurrentUserService _currentUserService; - public GetAllUserAddressByFilterQueryHandler(IApplicationContractContext context) + public GetAllUserAddressByFilterQueryHandler(IApplicationContractContext context, ICurrentUserService currentUserService) { _context = context; + _currentUserService = currentUserService; } public async Task Handle(GetAllUserAddressByFilterQuery request, CancellationToken cancellationToken) { - //TODO: Implement your business logic - return new GetAllUserAddressByFilterResponseDto(); + var userId = _currentUserService.UserId ?? throw new ForbiddenAccessException(); + var req = request.Adapt(); + req.Filter ??= new(); + req.Filter.UserId = long.Parse(userId); + var response = await _context.UserAddress.GetAllUserAddressByFilterAsync(request: req, cancellationToken: cancellationToken); + return response.Adapt(); } } diff --git a/src/FrontOffice.BFF.Application/UserAddressCQ/Queries/GetUserAddress/GetUserAddressQueryHandler.cs b/src/FrontOffice.BFF.Application/UserAddressCQ/Queries/GetUserAddress/GetUserAddressQueryHandler.cs index 9b602a1..7054d3c 100644 --- a/src/FrontOffice.BFF.Application/UserAddressCQ/Queries/GetUserAddress/GetUserAddressQueryHandler.cs +++ b/src/FrontOffice.BFF.Application/UserAddressCQ/Queries/GetUserAddress/GetUserAddressQueryHandler.cs @@ -1,3 +1,5 @@ +using CMSMicroservice.Protobuf.Protos.UserAddress; + namespace FrontOffice.BFF.Application.UserAddressCQ.Queries.GetUserAddress; public class GetUserAddressQueryHandler : IRequestHandler { @@ -10,7 +12,7 @@ public class GetUserAddressQueryHandler : IRequestHandler Handle(GetUserAddressQuery request, CancellationToken cancellationToken) { - //TODO: Implement your business logic - return new GetUserAddressResponseDto(); + var response = await _context.UserAddress.GetUserAddressAsync(request: request.Adapt(), cancellationToken: cancellationToken); + return response.Adapt(); } }