private async Task TotalInvoiceAmountAsync()

in src/Relecloud.Web.CallCenter.Api/Controllers/TicketController.cs [188:207]


        private async Task<double> TotalInvoiceAmountAsync(PurchaseTicketsRequest request)
        {
            if (request == null || request.ConcertIdsAndTicketCounts == null)
            {
                return 0;
            }

            double totalAmount = 0.0;
            foreach (var concertId in request.ConcertIdsAndTicketCounts.Keys)
            {
                var concert = await this.concertRepository.GetConcertByIdAsync(concertId);
                if (concert is null)
                {
                    throw new InvalidOperationException("Concert Not Found");
                }
                totalAmount += concert.Price * request.ConcertIdsAndTicketCounts[concertId];
            }

            return totalAmount;
        }