Exemplo n.º 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);
            });
        }
Exemplo n.º 2
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);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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);
        }