diff --git a/src/FrontOffice.BFF.Application/Common/Interfaces/IApplicationContractContext.cs b/src/FrontOffice.BFF.Application/Common/Interfaces/IApplicationContractContext.cs index 70b3027..af83bd7 100644 --- a/src/FrontOffice.BFF.Application/Common/Interfaces/IApplicationContractContext.cs +++ b/src/FrontOffice.BFF.Application/Common/Interfaces/IApplicationContractContext.cs @@ -3,6 +3,7 @@ using CMSMicroservice.Protobuf.Protos.Package; using CMSMicroservice.Protobuf.Protos.User; using CMSMicroservice.Protobuf.Protos.UserAddress; using CMSMicroservice.Protobuf.Protos.UserOrder; +using PYMSMicroservice.Protobuf.Protos.Transaction; namespace FrontOffice.BFF.Application.Common.Interfaces; @@ -21,4 +22,8 @@ public interface IApplicationContractContext UserOrderContract.UserOrderContractClient UserOrder { get; } OtpTokenContract.OtpTokenContractClient OtpToken { get; } #endregion + + #region PYMS + TransactionContract.TransactionContractClient ZarinTransactions { get; } + #endregion } diff --git a/src/FrontOffice.BFF.Application/TransactionCQ/Commands/PaymentRequest/PaymentRequestCommand.cs b/src/FrontOffice.BFF.Application/TransactionCQ/Commands/PaymentRequest/PaymentRequestCommand.cs index 8272943..af8f80f 100644 --- a/src/FrontOffice.BFF.Application/TransactionCQ/Commands/PaymentRequest/PaymentRequestCommand.cs +++ b/src/FrontOffice.BFF.Application/TransactionCQ/Commands/PaymentRequest/PaymentRequestCommand.cs @@ -1,3 +1,5 @@ +using PYMSMicroservice.Protobuf.Protos; + namespace FrontOffice.BFF.Application.TransactionCQ.Commands.PaymentRequest; public record PaymentRequestCommand : IRequest { diff --git a/src/FrontOffice.BFF.Application/TransactionCQ/Commands/PaymentRequest/PaymentRequestCommandHandler.cs b/src/FrontOffice.BFF.Application/TransactionCQ/Commands/PaymentRequest/PaymentRequestCommandHandler.cs index f9fc104..8c3a80a 100644 --- a/src/FrontOffice.BFF.Application/TransactionCQ/Commands/PaymentRequest/PaymentRequestCommandHandler.cs +++ b/src/FrontOffice.BFF.Application/TransactionCQ/Commands/PaymentRequest/PaymentRequestCommandHandler.cs @@ -1,3 +1,5 @@ +using PYMSMicroservice.Protobuf.Protos.Transaction; + namespace FrontOffice.BFF.Application.TransactionCQ.Commands.PaymentRequest; public class PaymentRequestCommandHandler : IRequestHandler { @@ -10,7 +12,9 @@ public class PaymentRequestCommandHandler : IRequestHandler Handle(PaymentRequestCommand request, CancellationToken cancellationToken) { - //TODO: Implement your business logic - return new PaymentRequestResponseDto(); + var req = request.Adapt(); + req.MerchantId = "6b098fc8-f490-47a1-aac3-1de1a1b84404"; + var response = await _context.ZarinTransactions.PaymentRequestAsync(request: req, cancellationToken: cancellationToken); + return response.Adapt(); } } diff --git a/src/FrontOffice.BFF.Application/TransactionCQ/Commands/PaymentVerification/PaymentVerificationCommandHandler.cs b/src/FrontOffice.BFF.Application/TransactionCQ/Commands/PaymentVerification/PaymentVerificationCommandHandler.cs index 902b0de..4cbb283 100644 --- a/src/FrontOffice.BFF.Application/TransactionCQ/Commands/PaymentVerification/PaymentVerificationCommandHandler.cs +++ b/src/FrontOffice.BFF.Application/TransactionCQ/Commands/PaymentVerification/PaymentVerificationCommandHandler.cs @@ -1,3 +1,5 @@ +using PYMSMicroservice.Protobuf.Protos.Transaction; + namespace FrontOffice.BFF.Application.TransactionCQ.Commands.PaymentVerification; public class PaymentVerificationCommandHandler : IRequestHandler { @@ -10,7 +12,7 @@ public class PaymentVerificationCommandHandler : IRequestHandler Handle(PaymentVerificationCommand request, CancellationToken cancellationToken) { - //TODO: Implement your business logic - return new PaymentVerificationResponseDto(); + var response = await _context.ZarinTransactions.PaymentVerificationAsync(request: request.Adapt(), cancellationToken: cancellationToken); + return response.Adapt(); } } diff --git a/src/FrontOffice.BFF.Application/TransactionCQ/Queries/GetAllTransactionByFilter/GetAllTransactionByFilterQuery.cs b/src/FrontOffice.BFF.Application/TransactionCQ/Queries/GetAllTransactionByFilter/GetAllTransactionByFilterQuery.cs index 6fbc705..5b6b32b 100644 --- a/src/FrontOffice.BFF.Application/TransactionCQ/Queries/GetAllTransactionByFilter/GetAllTransactionByFilterQuery.cs +++ b/src/FrontOffice.BFF.Application/TransactionCQ/Queries/GetAllTransactionByFilter/GetAllTransactionByFilterQuery.cs @@ -1,3 +1,6 @@ +using PYMSMicroservice.Protobuf.Protos; +using PaginationState = FrontOffice.BFF.Application.Common.Models.PaginationState; + namespace FrontOffice.BFF.Application.TransactionCQ.Queries.GetAllTransactionByFilter; public record GetAllTransactionByFilterQuery : IRequest { diff --git a/src/FrontOffice.BFF.Application/TransactionCQ/Queries/GetAllTransactionByFilter/GetAllTransactionByFilterQueryHandler.cs b/src/FrontOffice.BFF.Application/TransactionCQ/Queries/GetAllTransactionByFilter/GetAllTransactionByFilterQueryHandler.cs index ee6c004..d757e12 100644 --- a/src/FrontOffice.BFF.Application/TransactionCQ/Queries/GetAllTransactionByFilter/GetAllTransactionByFilterQueryHandler.cs +++ b/src/FrontOffice.BFF.Application/TransactionCQ/Queries/GetAllTransactionByFilter/GetAllTransactionByFilterQueryHandler.cs @@ -1,3 +1,5 @@ +using PYMSMicroservice.Protobuf.Protos.Transaction; + namespace FrontOffice.BFF.Application.TransactionCQ.Queries.GetAllTransactionByFilter; public class GetAllTransactionByFilterQueryHandler : IRequestHandler { @@ -10,7 +12,7 @@ public class GetAllTransactionByFilterQueryHandler : IRequestHandler Handle(GetAllTransactionByFilterQuery request, CancellationToken cancellationToken) { - //TODO: Implement your business logic - return new GetAllTransactionByFilterResponseDto(); + var response = await _context.ZarinTransactions.GetAllTransactionByFilterAsync(request: request.Adapt(), cancellationToken: cancellationToken); + return response.Adapt(); } } diff --git a/src/FrontOffice.BFF.Application/TransactionCQ/Queries/GetAllTransactionByFilter/GetAllTransactionByFilterResponseDto.cs b/src/FrontOffice.BFF.Application/TransactionCQ/Queries/GetAllTransactionByFilter/GetAllTransactionByFilterResponseDto.cs index 50118e6..63440d0 100644 --- a/src/FrontOffice.BFF.Application/TransactionCQ/Queries/GetAllTransactionByFilter/GetAllTransactionByFilterResponseDto.cs +++ b/src/FrontOffice.BFF.Application/TransactionCQ/Queries/GetAllTransactionByFilter/GetAllTransactionByFilterResponseDto.cs @@ -1,3 +1,6 @@ +using PYMSMicroservice.Protobuf.Protos; +using MetaData = FrontOffice.BFF.Application.Common.Models.MetaData; + namespace FrontOffice.BFF.Application.TransactionCQ.Queries.GetAllTransactionByFilter; public class GetAllTransactionByFilterResponseDto { diff --git a/src/FrontOffice.BFF.Application/TransactionCQ/Queries/GetTransaction/GetTransactionQueryHandler.cs b/src/FrontOffice.BFF.Application/TransactionCQ/Queries/GetTransaction/GetTransactionQueryHandler.cs index 1d1fd97..012f2ab 100644 --- a/src/FrontOffice.BFF.Application/TransactionCQ/Queries/GetTransaction/GetTransactionQueryHandler.cs +++ b/src/FrontOffice.BFF.Application/TransactionCQ/Queries/GetTransaction/GetTransactionQueryHandler.cs @@ -1,3 +1,5 @@ +using PYMSMicroservice.Protobuf.Protos.Transaction; + namespace FrontOffice.BFF.Application.TransactionCQ.Queries.GetTransaction; public class GetTransactionQueryHandler : IRequestHandler { @@ -10,7 +12,7 @@ public class GetTransactionQueryHandler : IRequestHandler Handle(GetTransactionQuery request, CancellationToken cancellationToken) { - //TODO: Implement your business logic - return new GetTransactionResponseDto(); + var response = await _context.ZarinTransactions.GetTransactionAsync(request: request.Adapt(), cancellationToken: cancellationToken); + return response.Adapt(); } } diff --git a/src/FrontOffice.BFF.Application/TransactionCQ/Queries/GetTransaction/GetTransactionResponseDto.cs b/src/FrontOffice.BFF.Application/TransactionCQ/Queries/GetTransaction/GetTransactionResponseDto.cs index f46b5b5..e331d37 100644 --- a/src/FrontOffice.BFF.Application/TransactionCQ/Queries/GetTransaction/GetTransactionResponseDto.cs +++ b/src/FrontOffice.BFF.Application/TransactionCQ/Queries/GetTransaction/GetTransactionResponseDto.cs @@ -1,3 +1,5 @@ +using PYMSMicroservice.Protobuf.Protos; + namespace FrontOffice.BFF.Application.TransactionCQ.Queries.GetTransaction; public class GetTransactionResponseDto { diff --git a/src/FrontOffice.BFF.Domain/FrontOffice.BFF.Domain.csproj b/src/FrontOffice.BFF.Domain/FrontOffice.BFF.Domain.csproj index 1da3520..5d1c474 100644 --- a/src/FrontOffice.BFF.Domain/FrontOffice.BFF.Domain.csproj +++ b/src/FrontOffice.BFF.Domain/FrontOffice.BFF.Domain.csproj @@ -6,6 +6,7 @@ + diff --git a/src/FrontOffice.BFF.Infrastructure/Services/ApplicationContractContext.cs b/src/FrontOffice.BFF.Infrastructure/Services/ApplicationContractContext.cs index b188ad5..77ff925 100644 --- a/src/FrontOffice.BFF.Infrastructure/Services/ApplicationContractContext.cs +++ b/src/FrontOffice.BFF.Infrastructure/Services/ApplicationContractContext.cs @@ -5,6 +5,7 @@ using CMSMicroservice.Protobuf.Protos.UserAddress; using CMSMicroservice.Protobuf.Protos.UserOrder; using FrontOffice.BFF.Application.Common.Interfaces; using Microsoft.Extensions.DependencyInjection; +using PYMSMicroservice.Protobuf.Protos.Transaction; namespace FrontOffice.BFF.Infrastructure.Services; @@ -49,4 +50,9 @@ public class ApplicationContractContext : IApplicationContractContext public OtpTokenContract.OtpTokenContractClient OtpToken => GetService(); #endregion + + #region PYMS + public TransactionContract.TransactionContractClient ZarinTransactions => GetService(); + + #endregion } \ No newline at end of file diff --git a/src/FrontOffice.BFF.WebApi/Common/Mappings/TransactionProfile.cs b/src/FrontOffice.BFF.WebApi/Common/Mappings/TransactionProfile.cs index d93e8f9..6eccc83 100644 --- a/src/FrontOffice.BFF.WebApi/Common/Mappings/TransactionProfile.cs +++ b/src/FrontOffice.BFF.WebApi/Common/Mappings/TransactionProfile.cs @@ -4,7 +4,7 @@ public class TransactionProfile : IRegister { void IRegister.Register(TypeAdapterConfig config) { - config.NewConfig() + config.NewConfig() .IgnoreIf((src, dest) => !src.Filter.HasCurrency, dest => dest.Filter.Currency) .IgnoreIf((src, dest) => !src.Filter.HasType, dest => dest.Filter.Type); } diff --git a/src/FrontOffice.BFF.WebApi/FrontOffice.BFF.WebApi.csproj b/src/FrontOffice.BFF.WebApi/FrontOffice.BFF.WebApi.csproj index f802c22..7bcbc88 100644 --- a/src/FrontOffice.BFF.WebApi/FrontOffice.BFF.WebApi.csproj +++ b/src/FrontOffice.BFF.WebApi/FrontOffice.BFF.WebApi.csproj @@ -20,6 +20,7 @@ + diff --git a/src/FrontOffice.BFF.WebApi/appsettings.json b/src/FrontOffice.BFF.WebApi/appsettings.json index ae1e572..ce34cc1 100644 --- a/src/FrontOffice.BFF.WebApi/appsettings.json +++ b/src/FrontOffice.BFF.WebApi/appsettings.json @@ -10,7 +10,8 @@ } }, "GrpcChannelOptions": { - "CMSMSAddress": "https://cms.kbs1.ir" + "CMSMSAddress": "https://cms.kbs1.ir", + "PYMSMSAddress": "https://ipg.afrino.co" }, "Authentication": { "Authority": "https://ids.domain.com/", diff --git a/src/FrontOffice.BFF.sln b/src/FrontOffice.BFF.sln index e7b8455..c082b56 100644 --- a/src/FrontOffice.BFF.sln +++ b/src/FrontOffice.BFF.sln @@ -20,6 +20,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FrontOffice.BFF.UserAddress EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FrontOffice.BFF.UserOrder.Protobuf", "Protobufs\FrontOffice.BFF.UserOrder.Protobuf\FrontOffice.BFF.UserOrder.Protobuf.csproj", "{663CDDFA-E15F-4356-AE01-2311C9B83D52}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FrontOffice.BFF.Transaction.Protobuf", "Protobufs\FrontOffice.BFF.Transaction.Protobuf\FrontOffice.BFF.Transaction.Protobuf.csproj", "{F59861D9-01D6-44C9-85A9-E6050D55D290}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -58,6 +60,10 @@ Global {663CDDFA-E15F-4356-AE01-2311C9B83D52}.Debug|Any CPU.Build.0 = Debug|Any CPU {663CDDFA-E15F-4356-AE01-2311C9B83D52}.Release|Any CPU.ActiveCfg = Release|Any CPU {663CDDFA-E15F-4356-AE01-2311C9B83D52}.Release|Any CPU.Build.0 = Release|Any CPU + {F59861D9-01D6-44C9-85A9-E6050D55D290}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F59861D9-01D6-44C9-85A9-E6050D55D290}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F59861D9-01D6-44C9-85A9-E6050D55D290}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F59861D9-01D6-44C9-85A9-E6050D55D290}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -67,5 +73,6 @@ Global {C8A16685-0A51-4D1A-B399-FB94C90D9BDC} = {CA9BF4D6-6729-4011-888E-48F5F739B469} {D70F0C9A-E954-4A67-B23D-9BE22721BD5D} = {CA9BF4D6-6729-4011-888E-48F5F739B469} {663CDDFA-E15F-4356-AE01-2311C9B83D52} = {CA9BF4D6-6729-4011-888E-48F5F739B469} + {F59861D9-01D6-44C9-85A9-E6050D55D290} = {CA9BF4D6-6729-4011-888E-48F5F739B469} EndGlobalSection EndGlobal diff --git a/src/Protobufs/FrontOffice.BFF.Transaction.Protobuf/FrontOffice.BFF.Transaction.Protobuf.csproj b/src/Protobufs/FrontOffice.BFF.Transaction.Protobuf/FrontOffice.BFF.Transaction.Protobuf.csproj index d033be2..a727cbd 100644 --- a/src/Protobufs/FrontOffice.BFF.Transaction.Protobuf/FrontOffice.BFF.Transaction.Protobuf.csproj +++ b/src/Protobufs/FrontOffice.BFF.Transaction.Protobuf/FrontOffice.BFF.Transaction.Protobuf.csproj @@ -4,16 +4,17 @@ net7.0 enable enable - 1.0.0 + 0.0.111 None False False + Foursat.FrontOffice.BFF.Transaction.Protobuf - + runtime; build; native; contentfiles; analyzers; buildtransitive all @@ -24,4 +25,13 @@ + + + + $(PackageOutputPath)$(PackageId).$(Version).nupkg + dotnet nuget push **/*.nupkg --source https://git.afrino.co/api/packages/FourSat/nuget/index.json --api-key 061a5cb15517c6da39c16cfce8556c55ae104d0d --skip-duplicate && del "$(NugetPackagePath)" + + + +