34 lines
920 B
Ruby
34 lines
920 B
Ruby
class OrderItem < ApplicationRecord
|
|
#Associations
|
|
belongs_to :order, autosave: true
|
|
|
|
#Validation
|
|
validates_presence_of :item_code, :item_name, :qty
|
|
validates :qty, numericality: { :greater_than => 0 }
|
|
validates_associated :orders
|
|
|
|
#This Method - handle how items is added into order
|
|
# order_item : {
|
|
# order_item_code : "",
|
|
# item_instance_code : "",
|
|
# quantity : 0,
|
|
# option_values : [],
|
|
# sub_order_items : [],
|
|
# }
|
|
def self.processs_item (item, orde_id, item_order_by)
|
|
orderitem = OrderItem.create do |oitem|
|
|
oitem.item_code = item["item_code"]
|
|
oitem.order_id = order_id
|
|
oitem.item_name = item["name"]
|
|
oitem.qty = item["qty"]
|
|
oitem.option = item["option"]
|
|
oitem.set_order_items = item["sub_order_items"]
|
|
oitem.item_order_by = item_order_by
|
|
end
|
|
logger.info orderitem.to_yml
|
|
orderitem.save!
|
|
|
|
|
|
end
|
|
end
|