Files
sx-fc/app/models/sale_order.rb
2019-11-06 17:34:42 +06:30

44 lines
1.2 KiB
Ruby
Executable File

class SaleOrder < ApplicationRecord
self.primary_key = "sale_order_id"
#primary key - need to be unique generated for multiple shops
before_create :generate_sale_order_id
belongs_to :sale
belongs_to :order
has_many :order_items, foreign_key: "order_id", primary_key: "order_id"
def create_sale_order(sale_id, order_id)
# sale_order = SaleOrder.new
self.sale_id = sale_id
self.order_id = order_id
self.save!
end
def self.sync_sale_order_records(sale_orders)
if !sale_orders.nil?
sale_orders.each do |so|
sale_order = SaleOrder.find_by_sale_order_id(so['sale_order_id'])
# unless SaleOrder.exists?(so['sale_order_id'])
if sale_order.nil?
sale_order = SaleOrder.new
end
sale_order.sale_order_id = so['sale_order_id']
sale_order.sale_id = so['sale_id']
sale_order.order_id = so['order_id']
sale_order.save
end
Rails.logger.debug '......... Sale Order sync completed ........'
end
end
private
def generate_sale_order_id
# self.class.name
if self.sale_order_id.nil?
self.sale_order_id = SeedGenerator.generate_id(self.class.name, 'SOI')
end
end
end