class Base::Banco < ApplicationRecord
	has_paper_trail

	has_many :pessoas_contas_bancarias, inverse_of: :banco, dependent: :restrict_with_exception
	has_many :agencias
	has_many :contas_bancarias, through: :agencias
	has_many :contas_bancarias_por_unidade_orcamentaria, through: :contas_bancarias

	validates_presence_of :numero_do_banco, :cnpj, :nome

	validates_length_of :cnpj, is: 14
	validates_length_of :nome, maximum: 80
	validates_length_of :sigla, maximum: 20

	def numero_do_banco_e_sigla
		"#{numero_do_banco} - #{sigla}"
	end

	def numero_do_banco_e_nome
		"#{numero_do_banco} - #{nome} (#{sigla})"
	end

	def nome_e_sigla
		"#{nome} (#{sigla})"
	end

	def contas_bancarias_por_unidade_orcamentaria?
		self.contas_bancarias_por_unidade_orcamentaria.any?
	end
end
