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 async Task <EasRdsModel> RetrieveRelatedAesStatisticsFromRds() { EasRdsModel rdsStatistics = null; _log.Debug("Gathering statistics for the equivalent EAS stats in RDS"); try { rdsStatistics = await _repository.RetrieveEquivalentEasStatisticsFromRds(); } catch (DbException exception) { _log.Error(exception, "Failed to retrieve the equivalent AES stats from the RDS Database"); } return(rdsStatistics); }