public async Task <ManagementGroupRates> ResolveAsync <TContext>(ResolveFieldContext <TContext> context) { var entityId = BuildEntityId(context); if (entityId == null) { return(null); } try { var request = new LoadManagementGroupRatesRequest { EntityReferences = new[] { new AggregateEntityReference { AdapterRecordReferences = new[] { new EntityReference { SourceSystemId = entityId, SourceSystemName = SourceSystemNames.Rates, }, } }, }, Live = _executionContextManager.GraphExecutionContext.QueryLive, }; var rates = await _entityRepository.LoadManagementGroupRatesAsync(request, context.CancellationToken); return(rates.SquashedEntityResults.FirstOrDefault()?.SquashedEntity); } catch (Exception ex) { _logger.Error($"Error resolving rates for {entityId}: {ex.Message}", ex); throw; } }
public async Task <EntityCollection <ManagementGroupRates> > LoadManagementGroupRatesAsync(LoadManagementGroupRatesRequest request, CancellationToken cancellationToken) { return(await LoadAsync <ManagementGroupRates>(request, cancellationToken)); }