class Patrimonio::DepreciacaoDoBem < ApplicationRecord
  has_paper_trail

  belongs_to :bem_patrimonial, class_name: 'Patrimonio::BemPatrimonial'

  has_one :movimentacoes_financeiras_dos_bens, as: :origem, class_name: 'Patrimonio::MovimentacaoFinanceiraDoBem', dependent: :destroy

  validates_presence_of :bem_patrimonial_id, :mes_depreciacao, :valor_base, :valor_depreciado, :data_depreciacao
  after_create :gerar_movimentacao_financeira_do_tombamento

  def gerar_movimentacao_financeira_do_tombamento
    movimentacao_financeira_do_tombamento = Patrimonio::MovimentacaoFinanceiraDoBem.create!(
      bem_patrimonial_id: self.bem_patrimonial.id,
      data_da_movimentacao: self.data_depreciacao,
      origem_id: self.id,
      origem_type: self.class.name,
      valor_inicial: self.valor_base, 
      valor_da_operacao: self.valor_depreciado,
      valor_final: (self.valor_base + self.valor_depreciado) #valor depreciado é negativo
    )
  end
  
end
