Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -61,13 +61,18 @@ protected override async Task OnAfterRenderAsync(bool firstRender)

await RequirePermission(PermissionSection.Merchant, PermissionFunction.Edit);

var loadMerchantTask = LoadMerchant();
var loadMerchantResult = await LoadMerchant();

if (loadMerchantResult.IsFailed) {
this.NavigationManager.NavigateToErrorPage();
}

var loadOperatorsTask = LoadOperators();
var loadContractsTask = LoadContracts();

await Task.WhenAll(loadMerchantTask, loadOperatorsTask, loadContractsTask);
await Task.WhenAll(loadOperatorsTask, loadContractsTask);

if (loadMerchantTask.Result.IsFailed || loadOperatorsTask.Result.IsFailed || loadContractsTask.Result.IsFailed) {
if (loadOperatorsTask.Result.IsFailed || loadContractsTask.Result.IsFailed) {
this.NavigationManager.NavigateToErrorPage();
}

Expand Down Expand Up @@ -146,9 +151,11 @@ private async Task<Result> LoadOperators() {
var result = await Mediator.Send(new Queries.GetOperatorsQuery(correlationId, estateId));

if (result.IsFailed) {
return ResultHelpers.CreateFailure(result);
}

availableOperators = ModelFactory.ConvertFrom(result.Data);
var unfiltered = ModelFactory.ConvertFrom(result.Data);
this.availableOperators = unfiltered.Where(u => this.assignedOperators.Select(a => a.OperatorId).Contains(u.OperatorId) == false).ToList();

return Result.Success();
}
Expand All @@ -160,11 +167,13 @@ private async Task<Result> LoadContracts()
var accessToken = "stubbed-token";

var result = await Mediator.Send(new Queries.GetContractsQuery(correlationId, accessToken, estateId));

if (result.IsSuccess)
if (result.IsFailed)
{
availableContracts = ModelFactory.ConvertFrom(result.Data);
return ResultHelpers.CreateFailure(result);
}

availableContracts = ModelFactory.ConvertFrom(result.Data);

return Result.Success();
}

Expand Down Expand Up @@ -309,13 +318,11 @@ private async Task AddOperatorToMerchant()
try
{
var correlationId = new CorrelationId(Guid.NewGuid());
var estateId = Guid.Parse("11111111-1111-1111-1111-111111111111");
var accessToken = "stubbed-token";
var estateId = await this.GetEstateId();
var operatorId = Guid.Parse(selectedOperatorId);

var command = new Commands.AddOperatorToMerchantCommand(
var command = new MerchantCommands.AddOperatorToMerchantCommand(
correlationId,
accessToken,
estateId,
MerchantId,
operatorId,
Expand Down
16 changes: 16 additions & 0 deletions EstateManagmentUI.BusinessLogic/Client/MerchantMethods.cs
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,26 @@ public partial interface IApiClient
Task<Result> UpdateMerchantAddress(MerchantCommands.UpdateMerchantCommand request, CancellationToken cancellationToken);
Task<Result> UpdateMerchantContact(MerchantCommands.UpdateMerchantCommand request, CancellationToken cancellationToken);
Task<Result> RemoveOperatorFromMerchant(MerchantCommands.RemoveOperatorFromMerchantCommand request, CancellationToken cancellationToken);
Task<Result> AddOperatorToMerchant(MerchantCommands.AddOperatorToMerchantCommand request, CancellationToken cancellationToken);
}

public partial class ApiClient : IApiClient {

public async Task<Result> AddOperatorToMerchant(MerchantCommands.AddOperatorToMerchantCommand request,
CancellationToken cancellationToken)
{
var token = await this.GetToken(cancellationToken);
if (token.IsFailed)
return ResultHelpers.CreateFailure(token);

var apiRequest = new AssignOperatorRequest { TerminalNumber = request.TerminalNumber, MerchantNumber = request.MerchantNumber, OperatorId = request.OperatorId };

var apiResult = await this.TransactionProcessorClient.AssignOperatorToMerchant(token.Data, request.EstateId, request.MerchantId, apiRequest, cancellationToken);
if (apiResult.IsFailed)
return ResultHelpers.CreateFailure(apiResult);

return Result.Success();
}
public async Task<Result> RemoveOperatorFromMerchant(MerchantCommands.RemoveOperatorFromMerchantCommand request,
CancellationToken cancellationToken) {
var token = await this.GetToken(cancellationToken);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ public async Task<Result<List<OperatorModel>>> Handle(EstateQueries.GetAssignedO
public class MerchantRequestHandler : IRequestHandler<MerchantQueries.GetMerchantsQuery, Result<List<MerchantListModel>>>,
IRequestHandler<MerchantQueries.GetMerchantQuery, Result<MerchantModel>>,
IRequestHandler<Commands.AddMerchantDeviceCommand, Result>,
IRequestHandler<Commands.AddOperatorToMerchantCommand, Result>,
IRequestHandler<MerchantCommands.AddOperatorToMerchantCommand, Result>,
IRequestHandler<Commands.CreateMerchantCommand, Result>,
IRequestHandler<Commands.MakeMerchantDepositCommand, Result>,
IRequestHandler<Commands.RemoveContractFromMerchantCommand, Result>,
Expand Down Expand Up @@ -86,9 +86,9 @@ public async Task<Result> Handle(Commands.AddMerchantDeviceCommand request,
return Result.Success();
}

public async Task<Result> Handle(Commands.AddOperatorToMerchantCommand request,
public async Task<Result> Handle(MerchantCommands.AddOperatorToMerchantCommand request,
CancellationToken cancellationToken) {
return Result.Success();
return await this.ApiClient.AddOperatorToMerchant(request, cancellationToken);
}

public async Task<Result> Handle(Commands.CreateMerchantCommand request,
Expand Down
3 changes: 1 addition & 2 deletions EstateManagmentUI.BusinessLogic/Requests/Requests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -71,14 +71,13 @@ public static class MerchantCommands {
public record MerchantAddress(Guid AddressId, string AddressLine1, string Town, string Region, string PostalCode, string Country);
public record MerchantContact(Guid ContactId, string ContactName, string ContactEmail, string ContactPhone);
public record UpdateMerchantCommand(CorrelationId CorrelationId,Guid EstateId, Guid MerchantId, string Name, String SettlementSchedule, MerchantAddress MerchantAddress, MerchantContact MerchantContact) : IRequest<Result>;

public record RemoveOperatorFromMerchantCommand(CorrelationId CorrelationId, Guid EstateId, Guid MerchantId, Guid OperatorId) : IRequest<Result>;
public record AddOperatorToMerchantCommand(CorrelationId CorrelationId, Guid EstateId, Guid MerchantId, Guid OperatorId, string? MerchantNumber, string? TerminalNumber) : IRequest<Result>;
}

public static class Commands
{
public record AddMerchantDeviceCommand(CorrelationId CorrelationId, string AccessToken, Guid EstateId, Guid MerchantId, string DeviceIdentifier) : IRequest<Result>;
public record AddOperatorToMerchantCommand(CorrelationId CorrelationId, string AccessToken, Guid EstateId, Guid MerchantId, Guid OperatorId, string? MerchantNumber, string? TerminalNumber) : IRequest<Result>;
public record AssignContractToMerchantCommand(CorrelationId CorrelationId, string AccessToken, Guid EstateId, Guid MerchantId, Guid ContractId) : IRequest<Result>;
public record CreateContractCommand(CorrelationId CorrelationId, string AccessToken, Guid EstateId, string Description, Guid OperatorId) : IRequest<Result>;
public record CreateMerchantCommand(CorrelationId CorrelationId, string AccessToken, Guid EstateId, string Name, string ContactName, string ContactEmail) : IRequest<Result>;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ public Task<TResponse> Send<TResponse>(IRequest<TResponse> request, Cancellation
Commands.AddTransactionFeeForProductToContractCommand cmd => Task.FromResult((TResponse)(object)this.ExecuteAddTransactionFee(cmd)),
Commands.AssignContractToMerchantCommand cmd => Task.FromResult((TResponse)(object)this.ExecuteAssignContractToMerchant(cmd)),
Commands.RemoveContractFromMerchantCommand cmd => Task.FromResult((TResponse)(object)this.ExecuteRemoveContractFromMerchant(cmd)),
Commands.AddOperatorToMerchantCommand cmd => Task.FromResult((TResponse)(object)this.ExecuteAddOperatorToMerchant(cmd)),
MerchantCommands.AddOperatorToMerchantCommand cmd => Task.FromResult((TResponse)(object)this.ExecuteAddOperatorToMerchant(cmd)),
MerchantCommands.RemoveOperatorFromMerchantCommand cmd => Task.FromResult((TResponse)(object)this.ExecuteRemoveOperatorFromMerchant(cmd)),
EstateCommands.AddOperatorToEstateCommand cmd => Task.FromResult((TResponse)(object)this.ExecuteAddOperatorToEstate(cmd)),
EstateCommands.RemoveOperatorFromEstateCommand cmd => Task.FromResult((TResponse)(object)this.ExecuteRemoveOperatorFromEstate(cmd)),
Expand Down Expand Up @@ -281,7 +281,7 @@ private Result ExecuteRemoveContractFromMerchant(Commands.RemoveContractFromMerc
return Result.Success();
}

private Result ExecuteAddOperatorToMerchant(Commands.AddOperatorToMerchantCommand cmd)
private Result ExecuteAddOperatorToMerchant(MerchantCommands.AddOperatorToMerchantCommand cmd)
{
var merchant = this._testDataStore.GetMerchant(cmd.EstateId, cmd.MerchantId);
if (merchant == null)
Expand Down
Loading