Example #1
0
        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);
            });
        }
Example #2
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);
        }