class Contabilidade::ValorDoConvenio < ApplicationRecord

	has_paper_trail

	belongs_to :convenio, class_name: "Contabilidade::Convenio", required: true, inverse_of: :valores_do_convenio
	belongs_to :tipo_de_despesa, class_name: "Base::TipoDeDespesa"

	validates_presence_of :convenio_id, :tipo_de_despesa_id, :exercicio, :valor

	validates_numericality_of :valor, greater_than_or_equal_to: 0

	validates_uniqueness_of :exercicio, scope: [:convenio_id, :tipo_de_despesa_id]

	validates :exercicio, :convenio_id, :tipo_de_despesa_id, immutable: true

	scope :convenios_correntes,  -> { joins(:tipo_de_despesa).where('base_tipos_de_despesa.id = ?', Base::TipoDeDespesa.despesa_corrente.id ) }
	scope :convenios_de_capital, -> { joins(:tipo_de_despesa).where('base_tipos_de_despesa.id = ?', Base::TipoDeDespesa.despesa_de_capital.id ) }

end
