Exemple #1
0
        public async Task <CalculateAssetAggregateResponse> ExecuteAsync(CalculateAssetAggregateRequest requests, CancellationToken cancellationToken)
        {
            var assetSearchQuery = new AssetSearchQuery
            {
                SchemeId = requests?.SchemeId,
                Address  = requests?.Address,
                AssetRegisterVersionId = requests?.AssetRegisterVersionId
            };
            var result = await _assetAggregator.Aggregate(assetSearchQuery, cancellationToken).ConfigureAwait(false);

            var response = new CalculateAssetAggregateResponse
            {
                AssetAggregates = new AssetAggregatesOutputModel(result)
            };

            return(response);
        }
Exemple #2
0
        public async Task GivenMultipleAssetsHaveBeenCreated_WhenWeAggregateViaSearchCritera_ThenWeCanGetAssetValue(int count, int expectedCount, decimal?agencyFairValue, int?schemeId, string address, string searchAddress)
        {
            //arrange
            using (var trans = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled))
            {
                var assetRegisterVersionId = await CreateAggregatedAssets(count, schemeId, address, agencyFairValue, null);

                var aggregatedSearch = new AssetSearchQuery
                {
                    SchemeId = schemeId,
                    Address  = searchAddress,
                    AssetRegisterVersionId = assetRegisterVersionId,
                };
                //act
                var assets = await _classUnderTest.Aggregate(aggregatedSearch, CancellationToken.None).ConfigureAwait(false);

                //assert
                assets.AssetValue.Should().Be(agencyFairValue * expectedCount);
                trans.Dispose();
            }
        }