Example #1
0
        private async Task <PaymentsRdsModel> RetrieveRelatedPaymentsStatisticsFromRds()
        {
            PaymentsRdsModel rdsStatistics = null;

            _log.Debug("Gathering statistics for the equivalent payment stats in RDS");

            try
            {
                rdsStatistics = await _repository.RetrieveEquivalentPaymentStatisticsFromRds();
            }
            catch (DbException exception)
            {
                _log.Error(exception, "Failed to retrieve the equivalent payment stats from the RDS Database");
            }

            return(rdsStatistics);
        }
Example #2
0
        public async Task SavePaymentStatistics(PaymentExternalModel statisticsModel, PaymentsRdsModel rdsModel)
        {
            await WithConnection(async c =>
            {
                using (var transaction = c.BeginTransaction())
                {
                    try
                    {
                        await SaveStatistic(c, transaction, nameof(statisticsModel.ProviderTotalPayments),
                                            statisticsModel.ProviderTotalPayments,
                                            rdsModel.ProviderTotalPayments);

                        await SaveStatistic(c, transaction, nameof(statisticsModel.ProviderTotalPaymentsWithRequestedPayment),
                                            statisticsModel.ProviderTotalPaymentsWithRequestedPayment,
                                            rdsModel.ProviderTotalPayments);
                        transaction.Commit();
                    }
                    catch (SqlException)
                    {
                        transaction.Rollback();
                        throw;
                    }
                }

                return(0);
            });
        }