public async Task <FindEmployerAccountLevyDeclarationTransactionsResponse> Handle(FindEmployerAccountLevyDeclarationTransactionsQuery message) { var validationResult = await _validator.ValidateAsync(message); if (!validationResult.IsValid()) { throw new InvalidRequestException(validationResult.ValidationDictionary); } if (validationResult.IsUnauthorized) { throw new UnauthorizedAccessException(); } var accountId = _hashingService.DecodeValue(message.HashedAccountId); var transactions = await _dasLevyService.GetAccountLevyTransactionsByDateRange <LevyDeclarationTransactionLine> (accountId, message.FromDate, message.ToDate, message.ExternalUserId); //var transactionDetailSummaries = data.Select(item => new LevyDeclarationTransactionLine //{ // Amount = item.Amount, // EmpRef = item.EmpRef, // TopUp = item.TopUp, // TransactionDate = item.TransactionDate, // EnglishFraction = item.EnglishFraction, // LineAmount = item.LineAmount //}).ToList(); return(new FindEmployerAccountLevyDeclarationTransactionsResponse { Transactions = transactions.ToList(), Total = transactions.Sum(c => c.LineAmount) }); }