class Ppa::MicroRegiao < ApplicationRecord
	has_paper_trail

	belongs_to :regiao
	has_many :propostas, dependent: :restrict_with_exception

	validates_uniqueness_of :nome, scope: :regiao_id
	validates_presence_of :nome, :regiao_id

	def nome_e_regiao
		self.regiao.try(:nome).to_s + " / " + self.nome
	end

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

	def percentual_de_votos_da_micro_regiao
		return self.regiao.ppa.total_de_votos_das_propostas_do_ppa_participativo.to_i > 0 ? ( (self.total_de_votos_das_propostas_por_micro_regiao * 100) / self.regiao.ppa.total_de_votos_das_propostas_do_ppa_participativo.to_f ).round(2) : 0.0
	end
end
