class GestaoDeEstoque::ProgramaPorEscola < ApplicationRecord
  has_paper_trail

  # belongs_to :orcamento, class_name: 'Orcamento'
  belongs_to :escola, class_name: 'GestaoDeEstoque::Escola'
  belongs_to :programa, class_name: 'GestaoDeEstoque::ProgramaEscolar'

  has_many :estoques, class_name: 'GestaoDeEstoque::Estoque'
  has_many :programas_por_consumo, class_name: "GestaoDeEstoque::ProgramaPorConsumo"

  validates_presence_of :escola_id, :programa_id, :data_inicial
  # , :orcamento_id

  def nome_programa_e_acao_completa
    "#{self.programa.nome} (#{self.programa.acao.codigo_e_nome})"
  end

  def contem_itens?(programa_por_consumo)
    self.programas_por_consumo.find_by(id: programa_por_consumo).itens_do_consumo_por_programa.any?
  end

end
