public OrderSession UpdateStatusOrderOnline(string order_no, string status)
        {
            var saleObj = _omDB.order_sessions.FirstOrDefault(x => x.sale_order_no == order_no);

            if (saleObj == null)
            {
                throw new ArgumentException("data not found.", nameof(saleObj));
            }

            saleObj.sale_order_status = status.ToString();
            saleObj.modified_date     = DateTime.Now;
            _omDB.SubmitChanges();

            var tran = new order_transaction();

            tran.create_date = DateTime.Now;
            tran.session_id  = saleObj.id;
            tran.datail      = "Update Status Online Order [" + saleObj.sale_order_no + "] : " + status.ToString();
            _omDB.order_transactions.InsertOnSubmit(tran);

            return(new OrderSession(saleObj));
        }
        private OrderSession SaveSessionOrder(POSAirPortClassesDataContext _posDB, OrderHeader order, df_header_onl new_order)
        {
            // order_session db save
            var new_session_order = new order_session();

            new_session_order.session_guid      = Guid.NewGuid();
            new_session_order.sale_agent_code   = order.NewOrder.AgentCode;
            new_session_order.sale_order_no     = order.NewOrder.OrderNo;
            new_session_order.sale_order_status = "Create";
            new_session_order.sale_invoice_no   = order.NewOrder.InvoiceNo;
            new_session_order.sale_platform     = "online";
            var obj_key = new OrderKey();

            obj_key.Date  = new_order.data_date.Date.ToString();
            obj_key.DocNO = new_order.doc_no.ToString();
            obj_key.MacNo = new_order.machine_no.Trim();
            new_session_order.pos_order_key    = JsonConvert.SerializeObject(obj_key);
            new_session_order.pos_order_no     = new_order.machine_no.Trim() + "-" + new_order.doc_no;
            new_session_order.pos_order_status = new_order.LastStatus;
            new_session_order.pos_invice_no    = new_order.machine_no.Trim() + "-" + new_order.runno;
            new_session_order.create_date      = DateTime.Now;
            new_session_order.modified_date    = DateTime.Now;
            _omDB.order_sessions.InsertOnSubmit(new_session_order);
            _omDB.SubmitChanges();
            // order_tran db save
            var new_tren_order = new order_transaction();

            new_tren_order.create_date = DateTime.Now;
            new_tren_order.session_id  = new_session_order.id;
            new_tren_order.datail      = "Create Sale Order Online [" + new_session_order.sale_order_no + "] <---> POS Order [" + new_session_order.pos_order_no + "]";
            _omDB.order_transactions.InsertOnSubmit(new_tren_order);
            _omDB.SubmitChanges();

            SaveLogInterface(_posDB, order, new_session_order);

            return(new OrderSession(new_session_order));
        }