class Commission < ActiveRecord::Base
	has_many :sellerscommissions
	belongs_to :pointsale
	belongs_to :user

  	##--- Llevar registro de Actividad del usuario
	audited


	accepts_nested_attributes_for :sellerscommissions

	def rango_de_ventas(pointsale, percent)
		sales_range = Pointsale.find(pointsale).sales.where("sales.status = 2").order(" sales.id ASC ") #todas las ventas en ese punto de venta
		commissions = Commission.where(:pointsale_id => pointsale).order("last_sale_id ASC").last #última comisión en el punto de venta

		if commissions.present? #si hay comisiones
			last_sale = commissions.last_sale_id+1
      		sales_range = Pointsale.find(pointsale).sales.where("sales.status = 2 and sales.id between #{last_sale} and #{sales_range.last.id}").order(" sales.id ASC ")
			#rango es entre último last_sale_id+1 y la última id de sales_range de arriba
		else
			last_sale = sales_range.last.id
		end

		total = (percent / 100.0) * sales_range.sum(:total)

      	self.pointsale_id = pointsale
      	self.last_sale_id = last_sale
      	self.commission_total = total
      	self.date = Date.today

	end

end
