public async Task <TokensAmountResultModel> GetTokensStatisticsForCustomerAsync( string customerId, DateTime?startDate, DateTime?endDate) { var totalBonusesAmount = await _bonusCashInsRepository.GetTotalAmountForCustomerAndPeriodAsync(customerId, startDate, endDate); var totalPartnersPaymentsAmount = await _partnersPaymentsRepository.GetTotalAmountForCustomerAndPeriodAsync(customerId, startDate, endDate); var totalRefundedPartnersPaymentsAmount = await _partnersPaymentsRepository.GetRefundedTotalAmountForCustomerAndPeriodAsync(customerId, startDate, endDate); var totalBurnedAmount = CalculateTotalBurned(totalPartnersPaymentsAmount, totalRefundedPartnersPaymentsAmount); var result = new TokensAmountResultModel { Asset = _tokenSymbol, EarnedAmount = totalBonusesAmount, BurnedAmount = totalBurnedAmount }; return(result); }
public async Task <IReadOnlyList <TokensAmountResultModel> > GetTokensStatisticsAsync( DateTime dateFrom, DateTime dateTo) { var bonusesAmount = await _bonusCashInsRepository.GetTotalAmountByPeriodAsync(dateFrom, dateTo); var totalPartnersPaymentsAmount = await _partnersPaymentsRepository.GetTotalAmountByPeriodAsync(dateFrom, dateTo); var totalRefundedPartnersPaymentsAmount = await _partnersPaymentsRepository.GetRefundedTotalAmountByPeriodAsync(dateFrom, dateTo); var totalBurned = CalculateTotalBurned(totalPartnersPaymentsAmount, totalRefundedPartnersPaymentsAmount); var result = new TokensAmountResultModel { Asset = _tokenSymbol, EarnedAmount = bonusesAmount, BurnedAmount = totalBurned }; return(new List <TokensAmountResultModel> { result }); }