diff --git a/EstateManagementUI.BlazorServer/Components/Pages/Estate/Index.razor.cs b/EstateManagementUI.BlazorServer/Components/Pages/Estate/Index.razor.cs index ae9f97e3..1d777f71 100644 --- a/EstateManagementUI.BlazorServer/Components/Pages/Estate/Index.razor.cs +++ b/EstateManagementUI.BlazorServer/Components/Pages/Estate/Index.razor.cs @@ -105,13 +105,11 @@ private async Task AddOperatorToEstate() try { var correlationId = new CorrelationId(Guid.NewGuid()); - var estateId = Guid.Parse("11111111-1111-1111-1111-111111111111"); - var accessToken = "stubbed-token"; + Guid estateId = await this.GetEstateId(); var operatorId = Guid.Parse(selectedOperatorId); var command = new Commands.AddOperatorToEstateCommand( correlationId, - accessToken, estateId, operatorId ); @@ -149,12 +147,9 @@ private async Task RemoveOperatorFromEstate(Guid operatorId) try { var correlationId = new CorrelationId(Guid.NewGuid()); - var estateId = Guid.Parse("11111111-1111-1111-1111-111111111111"); - var accessToken = "stubbed-token"; - + Guid estateId = await this.GetEstateId(); var command = new Commands.RemoveOperatorFromEstateCommand( correlationId, - accessToken, estateId, operatorId ); diff --git a/EstateManagmentUI.BusinessLogic/Client/EstateMethods.cs b/EstateManagmentUI.BusinessLogic/Client/EstateMethods.cs index 850e7016..45c048d3 100644 --- a/EstateManagmentUI.BusinessLogic/Client/EstateMethods.cs +++ b/EstateManagmentUI.BusinessLogic/Client/EstateMethods.cs @@ -7,6 +7,7 @@ using System.Text; using EstateManagementUI.BusinessLogic.BackendAPI.DataTransferObjects; using Shared.Results; +using TransactionProcessor.DataTransferObjects.Requests.Estate; using TransactionProcessor.DataTransferObjects.Responses.Estate; namespace EstateManagementUI.BusinessLogic.Client { @@ -16,6 +17,11 @@ Task> GetEstate(Queries.GetEstateQuery request, Task>> GetEstateAssignedOperators(Queries.GetAssignedOperatorsQuery request, CancellationToken cancellationToken); + + Task RemoveEstateOperator(Commands.RemoveOperatorFromEstateCommand request, + CancellationToken cancellationToken); + Task AddEstateOperator(Commands.AddOperatorToEstateCommand request, + CancellationToken cancellationToken); } public partial class ApiClient : IApiClient { @@ -51,5 +57,39 @@ public async Task>> GetEstateAssignedOperators(Querie return Result.Success(estateOperators); } + + public async Task RemoveEstateOperator(Commands.RemoveOperatorFromEstateCommand request, + CancellationToken cancellationToken) { + // Get a token here + Result token = await this.GetToken(cancellationToken); + if (token.IsFailed) + return ResultHelpers.CreateFailure(token); + + Result? apiResult = await this.TransactionProcessorClient.RemoveOperatorFromEstate(token.Data, request.EstateId, request.OperatorId, cancellationToken); + if (apiResult.IsFailed) + return ResultHelpers.CreateFailure(apiResult); + + return Result.Success(); + } + + public async Task AddEstateOperator(Commands.AddOperatorToEstateCommand request, + CancellationToken cancellationToken) + { + // Get a token here + Result token = await this.GetToken(cancellationToken); + if (token.IsFailed) + return ResultHelpers.CreateFailure(token); + + AssignOperatorRequest assignOperatorRequest = new AssignOperatorRequest + { + OperatorId = request.OperatorId + }; + + Result? apiResult = await this.TransactionProcessorClient.AssignOperatorToEstate(token.Data, request.EstateId, assignOperatorRequest, cancellationToken); + if (apiResult.IsFailed) + return ResultHelpers.CreateFailure(apiResult); + + return Result.Success(); + } } } diff --git a/EstateManagmentUI.BusinessLogic/RequestHandlers/DateRequestHandler.cs b/EstateManagmentUI.BusinessLogic/RequestHandlers/DateRequestHandler.cs index 86d794ad..b279660b 100644 --- a/EstateManagmentUI.BusinessLogic/RequestHandlers/DateRequestHandler.cs +++ b/EstateManagmentUI.BusinessLogic/RequestHandlers/DateRequestHandler.cs @@ -36,12 +36,12 @@ public async Task> Handle(Queries.GetEstateQuery request, public async Task Handle(Commands.AddOperatorToEstateCommand request, CancellationToken cancellationToken) { - return Result.Success(); + return await this.ApiClient.AddEstateOperator(request, cancellationToken); } public async Task Handle(Commands.RemoveOperatorFromEstateCommand request, CancellationToken cancellationToken) { - return Result.Success(); + return await this.ApiClient.RemoveEstateOperator(request, cancellationToken); } public async Task>> Handle(Queries.GetAssignedOperatorsQuery request, diff --git a/EstateManagmentUI.BusinessLogic/Requests/Requests.cs b/EstateManagmentUI.BusinessLogic/Requests/Requests.cs index 5d4cd6be..9a314acf 100644 --- a/EstateManagmentUI.BusinessLogic/Requests/Requests.cs +++ b/EstateManagmentUI.BusinessLogic/Requests/Requests.cs @@ -54,7 +54,7 @@ public static class Commands { public record AddMerchantDeviceCommand(CorrelationId CorrelationId, string AccessToken, Guid EstateId, Guid MerchantId, string DeviceIdentifier) : IRequest; public record AddOperatorToMerchantCommand(CorrelationId CorrelationId, string AccessToken, Guid EstateId, Guid MerchantId, Guid OperatorId, string? MerchantNumber, string? TerminalNumber) : IRequest; - public record AddOperatorToEstateCommand(CorrelationId CorrelationId, string AccessToken, Guid EstateId, Guid OperatorId) : IRequest; + public record AddOperatorToEstateCommand(CorrelationId CorrelationId, Guid EstateId, Guid OperatorId) : IRequest; public record AssignContractToMerchantCommand(CorrelationId CorrelationId, string AccessToken, Guid EstateId, Guid MerchantId, Guid ContractId) : IRequest; public record CreateContractCommand(CorrelationId CorrelationId, string AccessToken, Guid EstateId, string Description, Guid OperatorId) : IRequest; public record CreateMerchantCommand(CorrelationId CorrelationId, string AccessToken, Guid EstateId, string Name, string ContactName, string ContactEmail) : IRequest; @@ -63,7 +63,7 @@ public record CreateOperatorCommand(CorrelationId CorrelationId, string AccessTo public record MakeMerchantDepositCommand(CorrelationId CorrelationId, string AccessToken, Guid EstateId, Guid MerchantId, decimal Amount, DateTime Date, string Reference) : IRequest; public record RemoveContractFromMerchantCommand(CorrelationId CorrelationId, string AccessToken, Guid EstateId, Guid MerchantId, Guid ContractId) : IRequest; public record RemoveOperatorFromMerchantCommand(CorrelationId CorrelationId, string AccessToken, Guid EstateId, Guid MerchantId, Guid OperatorId) : IRequest; - public record RemoveOperatorFromEstateCommand(CorrelationId CorrelationId, string AccessToken, Guid EstateId, Guid OperatorId) : IRequest; + public record RemoveOperatorFromEstateCommand(CorrelationId CorrelationId, Guid EstateId, Guid OperatorId) : IRequest; public record SetMerchantSettlementScheduleCommand(CorrelationId CorrelationId, string AccessToken, Guid EstateId, Guid MerchantId, string Schedule) : IRequest; public record SwapMerchantDeviceCommand(CorrelationId CorrelationId, string AccessToken, Guid EstateId, Guid MerchantId, string OldDevice, string NewDevice) : IRequest; public record UpdateMerchantAddressCommand(CorrelationId CorrelationId, string AccessToken, Guid EstateId, Guid MerchantId, string AddressLine1, string Town, string Region, string PostalCode, string Country) : IRequest;