public async Task SaveEasStatistics(EasExternalModel easStatisticsModel, EasRdsModel rdsStatisticsForEasModel) { await WithConnection(async c => { using (var transaction = c.BeginTransaction()) { try { await SaveStatistic(c, transaction, nameof(easStatisticsModel.TotalPayments), easStatisticsModel.TotalPayments, rdsStatisticsForEasModel.TotalPayments); await SaveStatistic(c, transaction, nameof(easStatisticsModel.TotalAccounts), easStatisticsModel.TotalAccounts, rdsStatisticsForEasModel.TotalAccounts); await SaveStatistic(c, transaction, nameof(easStatisticsModel.TotalAgreements), easStatisticsModel.TotalAgreements, rdsStatisticsForEasModel.TotalAgreements); await SaveStatistic(c, transaction, nameof(easStatisticsModel.TotalLegalEntities), easStatisticsModel.TotalLegalEntities, rdsStatisticsForEasModel.TotalLegalEntities); await SaveStatistic(c, transaction, nameof(easStatisticsModel.TotalPAYESchemes), easStatisticsModel.TotalPAYESchemes, rdsStatisticsForEasModel.TotalPAYESchemes); transaction.Commit(); } catch (SqlException) { transaction.Rollback(); throw; } } return(0); }); }
private EasExternalModel Map(StatisticsViewModel model) { var externalModel = new EasExternalModel() { TotalAccounts = model.TotalAccounts, TotalAgreements = model.TotalAgreements, TotalLegalEntities = model.TotalLegalEntities, TotalPAYESchemes = model.TotalPayeSchemes, TotalPayments = model.TotalPayments }; return(externalModel); }
private async Task <EasExternalModel> RetrieveAesStatisticsFromTheApi() { _log.Debug("Gathering statistics for the EAS area of the system"); EasExternalModel statistics = null; try { statistics = await _easStatisticsHandler.Handle(); } catch (HttpRequestException httpRequestException) { _log.Error(httpRequestException, "Failed to retrieve EAS stats from the API"); } return(statistics); }
public async Task ThenSaveAccountsStatistics() { await SetupDatabase(); var accountsExternalModel = new EasExternalModel() { TotalAccounts = 1, TotalPayments = 1, TotalAgreements = 1, TotalLegalEntities = 1, TotalPAYESchemes = 1 }; EasStatisticsHandlerMock.Setup(x => x.Handle()).Returns(Task.FromResult(accountsExternalModel)); await DAS.Data.Functions.Statistics.GetAccountStatisticsFunction.Run(null, Log, StatisticsService); var databaseAsExpected = TestHelper.ConditionMet(IsDatabaseInExpectedState, TimeSpan.FromSeconds(60)); Assert.IsTrue(databaseAsExpected); }