<commit_before># == Schema Information
#
# Table name: canjes
#
#  id          :integer          not null, primary key
#  antiguo_id  :integer
#  nuevo_id    :integer
#  producto_id :integer
#  fecha       :datetime
#  created_at  :datetime
#  updated_at  :datetime
#  tipo        :string(255)
#

class Canje < ActiveRecord::Base
  #relationships
    belongs_to :entrada_antigua, :class_name => "IngresoProducto"
    belongs_to :entrada_nueva, :class_name => "IngresoProducto"
    belongs_to :producto

#validations
	# validates :fecha, :tipo, :presence =>true
	
#callbacks
  after_create :set_lineas_kardex
  after_create :set_values

#methods
  private

  def find_ingreso
		ingreso = IngresoProducto.find(self.antiguo_id)
  end

	def set_values
  	ingreso = find_ingreso()
	  self.fecha = Time.now
  	self.antiguo_id = ingreso.id
  	self.producto_id = ingreso.producto.id
	end

  def set_lineas_kardex
  	ingreso = find_ingreso()
    Lineakardex.create(:kardex => ingreso.producto.kardex, :tipo => "Entrada", :fecha => Time.now, :cantidad => ingreso.cantidad, :v_unitario => ingreso.producto.precio_compra, :observaciones => "Canje de producto")
    Lineakardex.create(:kardex => ingreso.producto.kardex, :tipo => "Salida", :fecha => Time.now, :cantidad => ingreso.cantidad, :v_unitario => ingreso.producto.precio_compra, :observaciones => "Producto Caducado")
  end
end<commit_msg>trying...!!<commit_after># == Schema Information
#
# Table name: canjes
#
#  id          :integer          not null, primary key
#  antiguo_id  :integer
#  nuevo_id    :integer
#  producto_id :integer
#  fecha       :datetime
#  created_at  :datetime
#  updated_at  :datetime
#  tipo        :string(255)
#

class Canje < ActiveRecord::Base
  #relationships
    belongs_to :entrada_antigua, :class_name => "IngresoProducto"
    belongs_to :entrada_nueva, :class_name => "IngresoProducto"
    belongs_to :producto

#validations
	# validates :fecha, :tipo, :presence =>true
	
#callbacks
  after_create :set_values
  after_save :set_salida_kardex, :update_producto

#methods
  private

  def find_ingreso
		ingreso = IngresoProducto.find(self.antiguo_id)
  end

	def set_values
  	ingreso = find_ingreso()
	  self.fecha = Time.now
  	self.producto_id = ingreso.producto.id
	end

  def set_salida_kardex
  	ingreso = find_ingreso()
    Lineakardex.create(:kardex => ingreso.producto.kardex, :tipo => "Salida", :fecha => Time.now, :cantidad => ingreso.cantidad, :v_unitario => ingreso.producto.precio_compra, :observaciones => "Producto Caducado")
  end

  def update_producto
  	ingreso = find_ingreso()
    IngresoProducto.create(:producto_id => ingreso.producto.id, :cantidad => ingreso.cantidad, :fecha_caducidad => "2015/06/23", :lote => "234")
    ingreso.update(:cantidad => '0')
  end
end
{'fraction_non_alphanumeric': 0.11387387387387388, 'fraction_numerical': 0.006486486486486486, 'mean_word_length': 4.084249084249084, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 32, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '68916', 'n_tokens_mistral': 1078, 'n_tokens_neox': 1080, 'n_words': 203}