Fix tickets turnover calculation

This commit is contained in:
Michael Klimenko 2018-03-24 01:24:49 +05:00 committed by James Mason
parent 69de418ccd
commit 58cb62dd6d
3 changed files with 20 additions and 6 deletions

View file

@ -61,12 +61,10 @@ class Ticket < ApplicationRecord
end
def tickets_turnover_total(id)
tickets = TicketPurchase.where(ticket_id: id).paid
if tickets.blank?
Money.new(0, Ticket.find(id).price_currency)
else
tickets.inject(Money.new(0, tickets.first.price_currency)){ |sum, ticket| sum + (ticket.amount_paid * ticket.quantity) }
end
ticket = Ticket.find(id)
return Money.new(0, 'USD') unless ticket
sum = ticket.ticket_purchases.paid.total
Money.new(sum, ticket.price_currency)
end
def tickets_sold

View file

@ -69,6 +69,11 @@ class TicketPurchase < ApplicationRecord
purchase
end
# Total amount
def self.total
sum('amount_paid * quantity')
end
def pay(payment)
update_attributes(paid: true, payment: payment)
PhysicalTicket.transaction do