class Ppa::AreaTematica < ApplicationRecord
	has_paper_trail

	belongs_to :ppa

	has_many :sub_areas_tematicas, dependent: :destroy
	has_many :propostas

	validates_presence_of :nome, :ppa_id
	validates_uniqueness_of :nome, scope: :ppa_id
	validates :ppa_id, immutable: true

	def total_de_votos_das_propostas_por_area_tematica
		self.propostas.votaveis.inject(0) { |total, proposta| total + proposta.total_de_votos.to_i }
	end

	def percentual_de_votos_da_area_tematica
		self.ppa.total_de_votos_das_propostas_do_ppa_participativo.to_i > 0 ? ( (self.total_de_votos_das_propostas_por_area_tematica * 100) / self.ppa.total_de_votos_das_propostas_do_ppa_participativo.to_f ).round(2) : 0.0
	end
end
