diff --git a/src/FrontOffice.BFF.Application/Common/Behaviours/LoggingBehaviour.cs b/src/FrontOffice.BFF.Application/Common/Behaviours/LoggingBehaviour.cs index 7958111..ef1fcda 100644 --- a/src/FrontOffice.BFF.Application/Common/Behaviours/LoggingBehaviour.cs +++ b/src/FrontOffice.BFF.Application/Common/Behaviours/LoggingBehaviour.cs @@ -17,7 +17,7 @@ public class LoggingBehaviour : IRequestPreProcessor where T public async Task Process(TRequest request, CancellationToken cancellationToken) { var requestName = typeof(TRequest).Name; - var userId = _currentUserService.UserId ?? string.Empty; + var userId = _currentUserService.UserId ; _logger.LogInformation("Request: {Name} {@UserId} {@Request}", requestName, userId, request); } diff --git a/src/FrontOffice.BFF.Application/Common/Behaviours/PerformanceBehaviour.cs b/src/FrontOffice.BFF.Application/Common/Behaviours/PerformanceBehaviour.cs index 51f16ce..fa94929 100644 --- a/src/FrontOffice.BFF.Application/Common/Behaviours/PerformanceBehaviour.cs +++ b/src/FrontOffice.BFF.Application/Common/Behaviours/PerformanceBehaviour.cs @@ -32,7 +32,7 @@ public class PerformanceBehaviour : IPipelineBehavior 500) { var requestName = typeof(TRequest).Name; - var userId = _currentUserService.UserId ?? string.Empty; + var userId = _currentUserService.UserId; _logger.LogWarning("Long Running Request: {Name} ({ElapsedMilliseconds} milliseconds) {@UserId} {@Request}", requestName, elapsedMilliseconds, userId, request); diff --git a/src/FrontOffice.BFF.Application/Common/Interfaces/ICurrentUserService.cs b/src/FrontOffice.BFF.Application/Common/Interfaces/ICurrentUserService.cs index 7971ee2..81d8e88 100644 --- a/src/FrontOffice.BFF.Application/Common/Interfaces/ICurrentUserService.cs +++ b/src/FrontOffice.BFF.Application/Common/Interfaces/ICurrentUserService.cs @@ -2,7 +2,7 @@ namespace FrontOffice.BFF.Application.Common.Interfaces; public interface ICurrentUserService { - string? UserId { get; } + long? UserId { get; } string? FirstName { get; } string? LastName { get; } string? MobileNumber { get; } diff --git a/src/FrontOffice.BFF.Application/ShopingCartCQ/Commands/AddNewUserCart/AddNewUserCartCommandHandler.cs b/src/FrontOffice.BFF.Application/ShopingCartCQ/Commands/AddNewUserCart/AddNewUserCartCommandHandler.cs index 2c86685..e1ac697 100644 --- a/src/FrontOffice.BFF.Application/ShopingCartCQ/Commands/AddNewUserCart/AddNewUserCartCommandHandler.cs +++ b/src/FrontOffice.BFF.Application/ShopingCartCQ/Commands/AddNewUserCart/AddNewUserCartCommandHandler.cs @@ -1,16 +1,26 @@ +using CMSMicroservice.Protobuf.Protos.UserCarts; + namespace FrontOffice.BFF.Application.ShopingCartCQ.Commands.AddNewUserCart; + public class AddNewUserCartCommandHandler : IRequestHandler { private readonly IApplicationContractContext _context; + private readonly ICurrentUserService _currentUserService; - public AddNewUserCartCommandHandler(IApplicationContractContext context) + public AddNewUserCartCommandHandler(IApplicationContractContext context, ICurrentUserService currentUserService) { _context = context; + _currentUserService = currentUserService; } public async Task Handle(AddNewUserCartCommand request, CancellationToken cancellationToken) { - //TODO: Implement your business logic + await _context.UserCart.CreateNewUserCartsAsync(new CreateNewUserCartsRequest() + { + ProductId = request.ProductId, + Count = request.Count, + UserId = _currentUserService.UserId.Value + }, cancellationToken: cancellationToken); return new Unit(); } -} +} \ No newline at end of file diff --git a/src/FrontOffice.BFF.Application/ShopingCartCQ/Commands/UpdateUserCart/UpdateUserCartCommandHandler.cs b/src/FrontOffice.BFF.Application/ShopingCartCQ/Commands/UpdateUserCart/UpdateUserCartCommandHandler.cs index 42ab2db..f374dcf 100644 --- a/src/FrontOffice.BFF.Application/ShopingCartCQ/Commands/UpdateUserCart/UpdateUserCartCommandHandler.cs +++ b/src/FrontOffice.BFF.Application/ShopingCartCQ/Commands/UpdateUserCart/UpdateUserCartCommandHandler.cs @@ -1,3 +1,5 @@ +using CMSMicroservice.Protobuf.Protos.UserCarts; + namespace FrontOffice.BFF.Application.ShopingCartCQ.Commands.UpdateUserCart; public class UpdateUserCartCommandHandler : IRequestHandler { @@ -10,7 +12,11 @@ public class UpdateUserCartCommandHandler : IRequestHandler Handle(UpdateUserCartCommand request, CancellationToken cancellationToken) { - //TODO: Implement your business logic + await _context.UserCart.UpdateUserCartsAsync(new UpdateUserCartsRequest() + { + Id = request.UserCartId, + Count = request.Count, + }, cancellationToken: cancellationToken); return new Unit(); } } diff --git a/src/FrontOffice.BFF.Application/ShopingCartCQ/Queries/GetAllUserCart/GetAllUserCartQueryHandler.cs b/src/FrontOffice.BFF.Application/ShopingCartCQ/Queries/GetAllUserCart/GetAllUserCartQueryHandler.cs index 89dd193..268adff 100644 --- a/src/FrontOffice.BFF.Application/ShopingCartCQ/Queries/GetAllUserCart/GetAllUserCartQueryHandler.cs +++ b/src/FrontOffice.BFF.Application/ShopingCartCQ/Queries/GetAllUserCart/GetAllUserCartQueryHandler.cs @@ -18,7 +18,7 @@ public class GetAllUserCartQueryHandler : IRequestHandler0) diff --git a/src/FrontOffice.BFF.Application/UserAddressCQ/Commands/CreateNewUserAddress/CreateNewUserAddressCommandHandler.cs b/src/FrontOffice.BFF.Application/UserAddressCQ/Commands/CreateNewUserAddress/CreateNewUserAddressCommandHandler.cs index 94c1523..a19f0dc 100644 --- a/src/FrontOffice.BFF.Application/UserAddressCQ/Commands/CreateNewUserAddress/CreateNewUserAddressCommandHandler.cs +++ b/src/FrontOffice.BFF.Application/UserAddressCQ/Commands/CreateNewUserAddress/CreateNewUserAddressCommandHandler.cs @@ -16,7 +16,7 @@ public class CreateNewUserAddressCommandHandler : IRequestHandler(); - req.UserId = long.Parse(userId); + req.UserId = userId; var response = await _context.UserAddress.CreateNewUserAddressAsync(request: req, cancellationToken: cancellationToken); return response.Adapt(); } diff --git a/src/FrontOffice.BFF.Application/UserAddressCQ/Queries/GetAllUserAddressByFilter/GetAllUserAddressByFilterQueryHandler.cs b/src/FrontOffice.BFF.Application/UserAddressCQ/Queries/GetAllUserAddressByFilter/GetAllUserAddressByFilterQueryHandler.cs index 295b926..112f73b 100644 --- a/src/FrontOffice.BFF.Application/UserAddressCQ/Queries/GetAllUserAddressByFilter/GetAllUserAddressByFilterQueryHandler.cs +++ b/src/FrontOffice.BFF.Application/UserAddressCQ/Queries/GetAllUserAddressByFilter/GetAllUserAddressByFilterQueryHandler.cs @@ -17,7 +17,7 @@ public class GetAllUserAddressByFilterQueryHandler : IRequestHandler(); req.Filter ??= new(); - req.Filter.UserId = long.Parse(userId); + req.Filter.UserId = userId; var response = await _context.UserAddress.GetAllUserAddressByFilterAsync(request: req, cancellationToken: cancellationToken); return response.Adapt(); } diff --git a/src/FrontOffice.BFF.Application/UserCQ/Commands/AcceptContract/AcceptContractCommandHandler.cs b/src/FrontOffice.BFF.Application/UserCQ/Commands/AcceptContract/AcceptContractCommandHandler.cs index 57f06f5..8e5c25a 100644 --- a/src/FrontOffice.BFF.Application/UserCQ/Commands/AcceptContract/AcceptContractCommandHandler.cs +++ b/src/FrontOffice.BFF.Application/UserCQ/Commands/AcceptContract/AcceptContractCommandHandler.cs @@ -19,7 +19,7 @@ public class AcceptContractCommandHandler : IRequestHandler Handle(SetPasswordForUserCommand request, CancellationToken cancellationToken) { var setPasswordRequest = request.Adapt(); - setPasswordRequest.UserId = long.Parse(_currentUserService.UserId ?? throw new InvalidOperationException()); + setPasswordRequest.UserId = _currentUserService.UserId ?? throw new InvalidOperationException(); await _context.User.SetPasswordForUserAsync(setPasswordRequest, cancellationToken: cancellationToken); return new Unit(); diff --git a/src/FrontOffice.BFF.Application/UserCQ/Queries/GetUser/GetUserQueryHandler.cs b/src/FrontOffice.BFF.Application/UserCQ/Queries/GetUser/GetUserQueryHandler.cs index 46337f4..057d58f 100644 --- a/src/FrontOffice.BFF.Application/UserCQ/Queries/GetUser/GetUserQueryHandler.cs +++ b/src/FrontOffice.BFF.Application/UserCQ/Queries/GetUser/GetUserQueryHandler.cs @@ -15,12 +15,12 @@ public class GetUserQueryHandler : IRequestHandler(); var getJwtToken = await _context.User.GetJwtTokenAsync(request: new() { - Id = long.Parse(userId) + Id = userId }, cancellationToken: cancellationToken); if(getJwtToken != null && !string.IsNullOrWhiteSpace(getJwtToken.Token)) result.Token = getJwtToken.Token; diff --git a/src/FrontOffice.BFF.Application/UserOrderCQ/Commands/CreateNewUserOrder/CreateNewUserOrderCommandHandler.cs b/src/FrontOffice.BFF.Application/UserOrderCQ/Commands/CreateNewUserOrder/CreateNewUserOrderCommandHandler.cs index 143f0db..83c4c3f 100644 --- a/src/FrontOffice.BFF.Application/UserOrderCQ/Commands/CreateNewUserOrder/CreateNewUserOrderCommandHandler.cs +++ b/src/FrontOffice.BFF.Application/UserOrderCQ/Commands/CreateNewUserOrder/CreateNewUserOrderCommandHandler.cs @@ -20,14 +20,14 @@ public class CreateNewUserOrderCommandHandler : IRequestHandler(); - req.UserId = long.Parse(userId); + req.UserId = userId; req.UserAddressId = getAllUserAddress!.Models.First().Id; var response = await _context.UserOrder.CreateNewUserOrderAsync(request: req, cancellationToken: cancellationToken); diff --git a/src/FrontOffice.BFF.Application/UserOrderCQ/Queries/GetAllUserOrderByFilter/GetAllUserOrderByFilterQueryHandler.cs b/src/FrontOffice.BFF.Application/UserOrderCQ/Queries/GetAllUserOrderByFilter/GetAllUserOrderByFilterQueryHandler.cs index 51aaca9..44104d1 100644 --- a/src/FrontOffice.BFF.Application/UserOrderCQ/Queries/GetAllUserOrderByFilter/GetAllUserOrderByFilterQueryHandler.cs +++ b/src/FrontOffice.BFF.Application/UserOrderCQ/Queries/GetAllUserOrderByFilter/GetAllUserOrderByFilterQueryHandler.cs @@ -18,7 +18,7 @@ public class GetAllUserOrderByFilterQueryHandler : IRequestHandler(); req.Filter ??= new(); - req.Filter.UserId = long.Parse(userId); + req.Filter.UserId = userId; var response = await _context.UserOrder.GetAllUserOrderByFilterAsync(request: req, cancellationToken: cancellationToken); return response.Adapt(); } diff --git a/src/FrontOffice.BFF.Domain/FrontOffice.BFF.Domain.csproj b/src/FrontOffice.BFF.Domain/FrontOffice.BFF.Domain.csproj index e69d2d6..aff86f3 100644 --- a/src/FrontOffice.BFF.Domain/FrontOffice.BFF.Domain.csproj +++ b/src/FrontOffice.BFF.Domain/FrontOffice.BFF.Domain.csproj @@ -7,7 +7,7 @@ - + diff --git a/src/FrontOffice.BFF.WebApi/Common/Behaviours/LoggingBehaviour.cs b/src/FrontOffice.BFF.WebApi/Common/Behaviours/LoggingBehaviour.cs index 7f842fd..843cf46 100644 --- a/src/FrontOffice.BFF.WebApi/Common/Behaviours/LoggingBehaviour.cs +++ b/src/FrontOffice.BFF.WebApi/Common/Behaviours/LoggingBehaviour.cs @@ -20,7 +20,7 @@ public class LoggingBehaviour : Interceptor UnaryServerMethod continuation) { var requestName = typeof(TRequest).Name; - var userId = _currentUserService.UserId ?? string.Empty; + var userId = _currentUserService.UserId; _logger.LogInformation("gRPC Starting receiving call. Type/Method: {Type} / {Method} Request: {Name} {@UserId} {@Request}", MethodType.Unary, context.Method , requestName, userId, request); diff --git a/src/FrontOffice.BFF.WebApi/Common/Behaviours/PerformanceBehaviour.cs b/src/FrontOffice.BFF.WebApi/Common/Behaviours/PerformanceBehaviour.cs index f34a289..389531f 100644 --- a/src/FrontOffice.BFF.WebApi/Common/Behaviours/PerformanceBehaviour.cs +++ b/src/FrontOffice.BFF.WebApi/Common/Behaviours/PerformanceBehaviour.cs @@ -33,7 +33,7 @@ public class PerformanceBehaviour : Interceptor if (elapsedMilliseconds > 500) { var requestName = typeof(TRequest).Name; - var userId = _currentUserService.UserId ?? string.Empty; + var userId = _currentUserService.UserId; _logger.LogWarning("gRPC Long Running Request: {Name} ({ElapsedMilliseconds} milliseconds) {@UserId} {@Request}", requestName, elapsedMilliseconds, userId, request); diff --git a/src/FrontOffice.BFF.WebApi/Common/Services/CurrentUserService.cs b/src/FrontOffice.BFF.WebApi/Common/Services/CurrentUserService.cs index 5e63265..2c7e67f 100644 --- a/src/FrontOffice.BFF.WebApi/Common/Services/CurrentUserService.cs +++ b/src/FrontOffice.BFF.WebApi/Common/Services/CurrentUserService.cs @@ -13,7 +13,7 @@ public class CurrentUserService : ICurrentUserService _httpContextAccessor = httpContextAccessor; } - public string? UserId => _httpContextAccessor.HttpContext?.User?.FindFirstValue(ClaimTypes.NameIdentifier); + public long? UserId => long?.Parse(_httpContextAccessor.HttpContext?.User?.FindFirstValue(ClaimTypes.NameIdentifier) ?? throw new InvalidOperationException()); public string? FirstName => _httpContextAccessor.HttpContext?.User?.FindFirstValue("FirstName"); public string? LastName => _httpContextAccessor.HttpContext?.User?.FindFirstValue("LastName"); public string? MobileNumber => _httpContextAccessor.HttpContext?.User?.FindFirstValue("MobileNumber"); diff --git a/src/Protobufs/FrontOffice.BFF.ShopingCart.Protobuf/FrontOffice.BFF.ShopingCart.Protobuf.csproj b/src/Protobufs/FrontOffice.BFF.ShopingCart.Protobuf/FrontOffice.BFF.ShopingCart.Protobuf.csproj index 43dd081..90c54be 100644 --- a/src/Protobufs/FrontOffice.BFF.ShopingCart.Protobuf/FrontOffice.BFF.ShopingCart.Protobuf.csproj +++ b/src/Protobufs/FrontOffice.BFF.ShopingCart.Protobuf/FrontOffice.BFF.ShopingCart.Protobuf.csproj @@ -3,7 +3,7 @@ net7.0 enable enable - 0.0.12 + 0.0.13 FrontOffice.BFF.ShopingCart.Protobuf False False