/// <summary> /// Handles a request /// </summary> /// <param name="request">The request</param> /// <param name="cancellationToken">Cancellation token</param> /// <returns> /// Response from the request /// </returns> public async Task <String> Handle(DisableTransactionFeeForProductRequest request, CancellationToken cancellationToken) { await this.ContractDomainService.DisableTransactionFeeForProduct(request.TransactionFeeId, request.ContractId, request.ProductId, cancellationToken); return(string.Empty); }
public async Task <IActionResult> DisableTransactionFeeForProduct([FromRoute] Guid estateId, [FromRoute] Guid contractId, [FromRoute] Guid productId, [FromRoute] Guid transactionFeeId, CancellationToken cancellationToken) { // Get the Estate Id claim from the user Claim estateIdClaim = ClaimsHelper.GetUserClaim(this.User, "EstateId", estateId.ToString()); String estateRoleName = Environment.GetEnvironmentVariable("EstateRoleName"); if (ClaimsHelper.IsUserRolesValid(this.User, new[] { string.IsNullOrEmpty(estateRoleName) ? "Estate" : estateRoleName }) == false) { return(this.Forbid()); } if (ClaimsHelper.ValidateRouteParameter(estateId, estateIdClaim) == false) { return(this.Forbid()); } // Create the command DisableTransactionFeeForProductRequest command = DisableTransactionFeeForProductRequest.Create(contractId, estateId, productId, transactionFeeId); // Route the command await this.Mediator.Send(command, cancellationToken); // return the result return(this.Ok($"{ContractController.ControllerRoute}/{contractId}/products/{productId}/transactionFees/{transactionFeeId}")); }
public void DisableTransactionFeeForProductRequest_CanBeCreated_IsCreated() { DisableTransactionFeeForProductRequest disableTransactionFeeForProductRequest = DisableTransactionFeeForProductRequest.Create(TestData.ContractId, TestData.EstateId, TestData.ProductId, TestData.TransactionFeeId); disableTransactionFeeForProductRequest.ShouldNotBeNull(); disableTransactionFeeForProductRequest.ContractId.ShouldBe(TestData.ContractId); disableTransactionFeeForProductRequest.EstateId.ShouldBe(TestData.EstateId); disableTransactionFeeForProductRequest.ProductId.ShouldBe(TestData.ProductId); disableTransactionFeeForProductRequest.TransactionFeeId.ShouldBe(TestData.TransactionFeeId); }
public void ContractRequestHandler_DisableTransactionFeeForProductRequest_IsHandled() { Mock <IContractDomainService> contractDomainService = new Mock <IContractDomainService>(); ContractRequestHandler handler = new ContractRequestHandler(contractDomainService.Object); DisableTransactionFeeForProductRequest request = TestData.DisableTransactionFeeForProductRequest; Should.NotThrow(async() => { await handler.Handle(request, CancellationToken.None); }); }