Beispiel #1
0
        private void gridView_RowStyle(object sender, DevExpress.XtraGrid.Views.Grid.RowStyleEventArgs e)
        {
            if (0 > e.RowHandle && sender.GetType() != typeof(GridView))
            {
                return;
            }

            DataRow dr = gridView.GetDataRow(e.RowHandle);

            if (null != dr && dr.Table.Columns.Contains("state_cd"))
            {
                try
                {
                    int   state_cd  = KnUtil.parseInt32(dr["state_cd"].ToString());
                    Color row_color = ObjOrder.getStateColor(state_cd);

                    // 색상 적용
                    if (row_color != Color.Empty)
                    {
                        e.Appearance.BackColor = row_color;
                    }
                }
                catch (Exception ex)
                {
                    TsLog.writeLog(ex.Message);
                }
            }
        }
Beispiel #2
0
        public void requestOrderPrint(ObjOrder _sel_order)
        {
            if (null == _sel_order)
            {
                Debug.WriteLine("homg");
                KnDevexpressFunc.showMessage("잘못된 주문입니다. 주문을 선택 후 출력하기를 \n시도 해 주십시오.", MessageBoxIcon.Information);
                return;
            }

            if (null == _sel_order.m_print_port_num ||
                0 == _sel_order.m_print_port_num.Length)
            {
                Debug.WriteLine("jung");
                KnDevexpressFunc.showMessage("해당 주문의 주문연동 설정된 출력포트는 프린트 설정이 \n안되어 있습니다.", MessageBoxIcon.Information);
                return;
            }

            if (null == _sel_order.m_print_raw_data_buf ||
                0 == _sel_order.m_print_raw_data_buf.Length)
            {
                Debug.WriteLine("sun");
                KnDevexpressFunc.showMessage("선택된 주문은 출력할 데이터가 없습니다.", MessageBoxIcon.Information);
                return;
            }

            FormMain main_form = Kons.ShopCallpass.AppMain.AppCore.Instance.Mainform;

            if (null != main_form)
            {
                Debug.WriteLine("bab");
                main_form.printOrder(_sel_order);
            }
        }
Beispiel #3
0
 public void setGridViewDataSource(DataTable _dt)
 {
     lock (m_lock_datasource)
     {
         ObjOrder.makeTableSchema(ref _dt); // set table columns with ObjOrder class
         gridControl.DataSource = _dt;
     }
 }
Beispiel #4
0
        override protected void initDlgControls()
        {
            if (null == m_dlg_obj)
            {
                return;
            }

            // border
            //ctr_tbx_order_num.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.NoBorder;
            //ctr_tbx_order_type.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.NoBorder;
            //ctr_tbx_state_cd.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.NoBorder;
            //ctr_tbx_call_num.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.NoBorder;
            //ctr_tbx_call_datetime.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.NoBorder;
            //ctr_tbx_customer_cost.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.NoBorder;
            //ctr_tbx_customer_request_memo.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.NoBorder;
            //ctr_lbx_arv_locate_address.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.NoBorder;
            //ctr_lbx_arv_locate_alternative_address.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.NoBorder;
            //ctr_lbx_arv_locate_memo.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.NoBorder;

            // set enable
            ctr_tbx_order_num.Properties.ReadOnly                      = true;
            ctr_tbx_order_type.Properties.ReadOnly                     = true;
            ctr_tbx_state_cd.Properties.ReadOnly                       = true;
            ctr_tbx_call_num.Properties.ReadOnly                       = true;
            ctr_tbx_cust_pay_type_name.Properties.ReadOnly             = true;
            ctr_tbx_call_datetime.Properties.ReadOnly                  = true;
            ctr_tbx_customer_cost.Properties.ReadOnly                  = true;
            ctr_tbx_customer_request_memo.Properties.ReadOnly          = true;
            ctr_lbx_arv_locate_address.Properties.ReadOnly             = true;
            ctr_lbx_arv_locate_alternative_address.Properties.ReadOnly = true;
            ctr_lbx_arv_locate_memo.Properties.ReadOnly                = true;

            // set content
            ctr_tbx_order_num.Text                      = m_dlg_obj.m_order_num;
            ctr_tbx_order_type.Text                     = ObjOrder.getOrderTypeString(m_dlg_obj.m_order_type);
            ctr_tbx_state_cd.Text                       = ObjOrder.getStateString(m_dlg_obj.m_state_cd);
            ctr_tbx_call_num.Text                       = m_dlg_obj.m_call_num;
            ctr_tbx_cust_pay_type_name.Text             = ObjOrder.getCustPayTypeString(m_dlg_obj.m_customer_pay_type_cd);
            ctr_tbx_call_datetime.Text                  = m_dlg_obj.m_call_datetime.ToString("yyyy-MM-dd HH:mm:ss");
            ctr_tbx_customer_cost.Text                  = Kons.Utility.KnUtil.formatMoney(m_dlg_obj.m_customer_cost);
            ctr_tbx_customer_request_memo.Text          = m_dlg_obj.m_customer_request_memo;
            ctr_lbx_arv_locate_address.Text             = m_dlg_obj.m_arv_locate_address;
            ctr_lbx_arv_locate_alternative_address.Text = m_dlg_obj.m_arv_locate_alternative_address; // 대체 가능한 주소 - 신주소
            ctr_lbx_arv_locate_memo.Text                = m_dlg_obj.m_arv_locate_memo;

            //
            if ((int)ObjOrder.STATE_TYPE.ORDER_STATE_0 == m_dlg_obj.m_state_cd)
            {
                ctr_btn_req_delivery.Enabled = true;
            }
            else
            {
                ctr_btn_req_delivery.Enabled = false;
            }
        }
Beispiel #5
0
        // ---------------------------------------------------------- basic method
        //
        public FormDlgOrderDetail(Form _parnet = null, ObjOrder _sel_obj = null)
        {
            setBaseFormData(null, null, DLG_TYPE.TYPE_NORMAL);
            InitializeComponent();

            m_parent_form = (FormViewOrderList)_parnet;
            m_dlg_obj     = _sel_obj;

            initDlgObjects();
            initDlgControls();
        }
Beispiel #6
0
        public void onCallbackOrderAdd(FormDlgBase.DLG_TYPE _who, ObjOrder _obj)
        {
            ObjOrder des_obj = (ObjOrder)_obj;

            if (null != des_obj)
            {
                onChangeObj(des_obj);

                // 수정한 것은 redraw 이후 포키싱이 되도록 order_num 를 저장 해 둔다.
                m_next_focus_order_num = des_obj.m_order_num;
            }
        }
Beispiel #7
0
        public void onObjChange(String _obj_key)
        {
            Utility.Utility.LogWrite("onChangeObj인자1개짜리");
            ObjOrder recv_obj = new ObjOrder();

            if (null != recv_obj)
            {
                recv_obj.initObj();
                if (recv_obj.loadFromDB(_obj_key))
                {
                    onChangeObj(recv_obj);
                }
            }
        }
Beispiel #8
0
        private void showDlgModifyObj(String _order_num = "")
        {
            if (0 == _order_num.Length)
            {
                KnDevexpressFunc.showMessage("선택된 주문이 없습니다.", MessageBoxIcon.Information);
                return;
            }

            ObjOrder sel_order = Kons.ShopCallpass.AppMain.AppCore.Instance.getAppDoc().getObjOrder(_order_num);

            if (null != sel_order)
            {
                FormDlgOrderDetail dlg = new FormDlgOrderDetail(this, sel_order);
                dlg.ShowDialog();
            }
        }
Beispiel #9
0
        // ----------------------------------------------------------
        //
        public String setObjOrder(ObjOrder _order)
        {
            if (null == _order || null == _order.m_order_num || 0 == _order.m_order_num.Length)
            {
                return(null);
            }

            if (m_dic_order.ContainsKey(_order.m_order_num))
            {
                m_dic_order[_order.m_order_num] = _order;
            }
            else
            {
                m_dic_order.Add(_order.m_order_num, _order);
            }

            return(_order.m_order_num);
        }
Beispiel #10
0
        public DataTable getGridViewDataSource()
        {
            lock (m_lock_datasource)
            {
                DataTable dt = (DataTable)gridControl.DataSource;
                if (null == dt)
                {
                    dt = new DataTable();
                    if (null != dt)
                    {
                        ObjOrder.makeTableSchema(ref dt); // set table columns with ObjOrder class
                        gridControl.DataSource = dt;
                    }
                    else
                    {
                        Debug.Assert(false);
                    }
                }

                return(dt);
            }
        }
Beispiel #11
0
        public void requestDelivery(ObjOrder _sel_order)
        {
            Utility.Utility.LogWrite("requestDelivery 재정의 함수");

            if (null == _sel_order)
            {
                KnDevexpressFunc.showMessage("잘못된 주문입니다. 주문을 선택 후 출력하기를 \n시도 해 주십시오.", MessageBoxIcon.Information);
                return;
            }

            if (null != _sel_order)
            {
                if ((int)ObjOrder.STATE_TYPE.ORDER_STATE_0 != _sel_order.m_state_cd)
                {
                    if (DialogResult.Yes != MessageBox.Show("선택한 주문은 이미 배달대행을 요청한 건 입니다. \r다시 배달 요청을 하시겠습니까?", "확인", MessageBoxButtons.YesNo, MessageBoxIcon.Question))
                    {
                        return;
                    }
                }

                FormDlgRequestDelivery dlg = new FormDlgRequestDelivery(this, _sel_order);
                dlg.ShowDialog();
            }
        }
Beispiel #12
0
        public void onChangeObj(ObjOrder _obj, bool _is_change_state = false)
        {
            Utility.Utility.LogWrite("onChangeObj인자2개짜리");
            try
            {
                // save
                Kons.ShopCallpass.AppMain.AppCore.Instance.getAppDoc().setObjOrder(_obj);

                // check visible
                if (!isShowOrder(_obj))
                {
                    return;
                }

                // control
                DataTable view_table = getGridViewDataSource();
                if (null != view_table)
                {
                    // 기존 객체 얻기
                    DataRow[] sel_rows = null;
                    try
                    {
                        sel_rows = view_table.Select(String.Format("order_num = '{0}'", _obj.m_order_num));
                    }
                    catch (Exception err)
                    {
                        TsLog.writeLog(err.Message);
                    }

                    // 기존 없으면 생성
                    if (null == sel_rows || 0 == sel_rows.Length)
                    {
                        sel_rows = new DataRow[1];
                        if (null != sel_rows)
                        {
                            sel_rows[0] = view_table.NewRow();
                        }
                        view_table.Rows.InsertAt(sel_rows[0], 0);
                    }
                    else
                    {
                        if (!_is_change_state)
                        {
                            // 상태변경을 해야하는 경우(배달요청후)가 아니면 기존 상태를 안바뀌게 하기위해 아래 채우기전에 이전값으로 넣음
                            // 중복으로 연계 눌렀을경우 상태가 변경되는것을 막기위해 기본적으로 이전 상태를 유지한다.
                            _obj.m_state_cd = KnUtil.parseInt32(sel_rows[0]["state_cd"].ToString());
                        }
                    }

                    // 새로 받은 내용 채우기
                    if (null != sel_rows[0])
                    {
                        ObjOrder.setTableData(ref sel_rows[0], ref _obj); // obj -> data row
                    }

                    // 다시 그리기
                    redrawListControl();
                }
            }
            catch (Exception ex)
            {
                Kons.ShopCallpass.AppMain.AppCore.detectException(ex.Message);
            }
        }
Beispiel #13
0
        private void initPopupMenu()
        {
            try
            {
                ArrayList link_array = new ArrayList();
                link_array.Clear();

                link_array.Add(KnDevexpressFunc.createPopupmenuLinkPersistInfo("등록주문 상세보기", "popup_btn_detail", Properties.Resources.selectall_16x16, this.popupMenu_ItemClick, false));
                link_array.Add(KnDevexpressFunc.createPopupmenuLinkPersistInfo("등록주문 출력하기", "popup_btn_print", Properties.Resources.print_16x16, this.popupMenu_ItemClick, false));
                link_array.Add(KnDevexpressFunc.createPopupmenuLinkPersistInfo("배달대행 요청하기", "popup_btn_state_1", ObjOrder.getStateImage((int)ObjOrder.STATE_TYPE.ORDER_STATE_1), this.popupMenu_ItemClick, true));

                KnDevexpressFunc.setPopupmenuLinkPersistInfo(popupMenu, link_array);
            }
            catch (Exception ex)
            {
                Debug.Assert(false, ex.Message);
                throw;
            }
        }
Beispiel #14
0
 public bool isShowOrder(ObjOrder _obj)
 {
     // 보인다
     return(true);
 }
Beispiel #15
0
        // 시작문자를 찾아서 이후부터 저장버퍼에 저장한다.
        // 시작을 했다면 종료문자를 찾아서 메시지 보내고 이후 앞 부분을 저장 해 둔다
        private int saveReadData(byte[] _read_buf, int _read_offset, int _read_length)
        {
            Utility.Utility.LogWrite("saveReadData");

            int copy_offset = 0;

            Utility.Utility.LogWrite("saveReadData _read_buf : \n" + EncodingToStringFitness(CheckSender(), _read_buf) + "\n");
            Utility.Utility.LogWrite("saveReadData _read_buf 출력 횟수 : " + (++count) + " _read_buf.Length : " + _read_buf.Length + " _read_length : " + _read_length);

            ModelAppDevice device    = new ModelAppDevice();
            string         val       = device.readConfigString("TEMP_PORTNAME", "temp_portName");
            int            inputType = 0;

            for (int i = 0; i < 4; i++)
            {
                if (val.Equals(device.readConfigString("CONFIG_ORDER_INPUT", "listen_port_num_" + i.ToString())))
                {
                    inputType = Int32.Parse(device.readConfigString("CONFIG_ORDER_INPUT", "input_type_" + i.ToString()));
                }
            }
            Utility.Utility.LogWrite("inputType : " + inputType);
            int index = 0;

            switch (inputType)
            {
            case 10:
                index = 0;
                break;

            case 21:
                index = 4;
                break;

            case 26:
                index = 3;
                break;

            case 27:
                index = 5;
                break;

            case 31:
                index = 2;
                break;

            case 32:
                index = 1;
                break;

            case 33:
                index = 6;
                break;

            case 98:
                index = 7;
                break;
            }
            string str = device.readConfigString(CONFIG_SECTION[index], keyValues[index]);

            Utility.Utility.LogWrite("str : " + str);
            PROTOCOL_EOD = ConvertByteArray(str);
            Utility.Utility.LogWrite("PROTOCOL_EOD: " + PROTOCOL_EOD);
            PROTOCOL_TMP = new byte[PROTOCOL_EOD.Length];
            bool is_receive_eod = false;
            int  copy_length    = 0;

            Utility.Utility.LogWrite("isWaitDataEnd() : " + isWaitDataEnd());
            if (isWaitDataEnd())
            {
                copy_length += PROTOCOL_SOD.Length; // 시작문자 부분은 건너뛰고 검색을 시작하므로 아래 +1 이 안되는 부분이기 때문에 먼저 대해준다.

                int isOptimizationMode = device.readConfigLong("FORM_MAIN", "optimization_mode");

                for (int i = (copy_offset + PROTOCOL_SOD.Length); i < (_read_length - PROTOCOL_EOD.Length + 1); i++)
                {
                    Array.Copy(_read_buf, _read_offset + i, PROTOCOL_TMP, 0, PROTOCOL_TMP.Length);

                    if (isOptimizationMode == 0)
                    {
                        //log지우면안됨!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                        Utility.Utility.LogWrite("PROTOCOL_TMP:" + ConvertByteToHexString(PROTOCOL_TMP) + "   eod:" + ConvertByteToHexString(PROTOCOL_EOD));
                    }

                    if (PROTOCOL_TMP.SequenceEqual(PROTOCOL_EOD))
                    {
                        is_receive_eod = true;
                        copy_length   += PROTOCOL_TMP.Length;

                        Utility.Utility.LogWrite("끝문자 i위치 : " + i);
                        Utility.Utility.LogWrite("기타 파서 전용 이프문");
                        break;
                    }
                    copy_length += 1;
                }

                Utility.Utility.LogWrite("끝문자체크is_receive_eod : " + is_receive_eod);

                if (!is_receive_eod) // 못찾았으면 검색한 길이만큼 더해 준다
                {
                    copy_length += (PROTOCOL_EOD.Length - 1);
                }
            }
            else
            {
                is_receive_eod = true; // 종료를 찾는 것이 아니면 받은만큼이 종료이기 때문에...
                copy_length    = _read_length;
            }

            Utility.Utility.LogWrite("copy_length > (m_save_buf.Length - m_save_len) : " + (copy_length > (m_save_buf.Length - m_save_len)));

            // 복사할 버퍼의 남은크기 확인
            if (copy_length > (m_save_buf.Length - m_save_len))
            {
                resetSaveBuf(); // 버퍼가 가득찬 경우 받은것을 파기한다.
                return(copy_offset + copy_length);
            }

            // 복사할 길이를 찾아서 저장 버퍼에 복사한다.
            System.Array.Copy(_read_buf, _read_offset + copy_offset, m_save_buf, m_save_len, copy_length);
            m_save_len += copy_length;

            Utility.Utility.LogWrite("m_save_buf : " + EncodingToStringFitness(CheckSender(), m_save_buf));
            Utility.Utility.LogWrite("m_save_len : " + m_save_len);

            Utility.Utility.LogWrite("m_save_buf 출력 횟수 : " + (++count2) + " m_save_buf.Length : " + m_save_buf.Length + " m_save_len : " + m_save_len);
            Utility.Utility.LogWrite("is_receive_eod : " + is_receive_eod);

            // 상위로 메시지 보내고 버퍼 초기화
            if (is_receive_eod)
            {
                Utility.Utility.LogWrite("m_parser : " + m_parser);

                if (null != m_parser)
                {
                    string tmp = device.readConfigString("UNWANTEDKEYWORD", "unwanted_keyword");
                    Utility.Utility.LogWrite("tmp : " + tmp);
                    string[] exclusivePatterns = tmp.Split('+');
                    Utility.Utility.LogWrite("exclusivePatterns.Length : " + exclusivePatterns.Length);
                    for (int i = 0; i < exclusivePatterns.Length; i++)
                    {
                        Utility.Utility.LogWrite("exclusivePatterns[i] : " + exclusivePatterns[i]);
                    }

                    bool flag = false;
                    for (int i = 0; i < exclusivePatterns.Length; i++)
                    {
                        flag = EncodingToStringFitness(CheckSender(), m_save_buf).Contains(exclusivePatterns[i]);
                        if (flag)
                        {
                            break;
                        }
                    }

                    ObjOrder recv_order = null;
                    if (prevPaper != EncodingToStringFitness(CheckSender(), m_save_buf))
                    {
                        Utility.Utility.LogWrite("apple");
                        if (!flag)
                        {
                            Utility.Utility.LogWrite("grape");
                            recv_order = m_parser.parsingInputOrderRawData(m_save_buf, m_save_len);
                        }
                    }
                    //Utility.Utility.LogWrite("recv_order : " + recv_order);

                    if (null != recv_order)
                    {
                        // 주문에 print 정보 저장
                        recv_order.setRawDataForPrint(m_print_output_port_num, m_save_buf, 0, m_save_len);

                        bool isThisDataToRegister = false;

                        Utility.Utility.LogWrite("inputType : " + inputType);
                        switch (inputType)
                        {
                        case 10:

                            if (device.readConfigLong("CONFIG_ORDER_INPUT", "is_enroll_bemin") == 1)
                            {
                                isThisDataToRegister = true;
                                Utility.Utility.LogWrite("배민꺼 : " + inputType);
                            }
                            break;

                        case 32:

                            if (device.readConfigLong("CONFIG_ORDER_INPUT", "is_enroll_yogiyo") == 1)
                            {
                                isThisDataToRegister = true;
                                Utility.Utility.LogWrite("요기요꺼 : " + inputType);
                            }
                            break;

                        default:

                            if (device.readConfigLong("CONFIG_ORDER_INPUT", "is_enroll_pos") == 1)
                            {
                                isThisDataToRegister = true;
                                Utility.Utility.LogWrite("포스기 : " + inputType);
                            }
                            break;
                        }

                        if (isThisDataToRegister && prevPaper != EncodingToStringFitness(CheckSender(), m_save_buf))
                        {
                            if (!flag)
                            {
                                Utility.Utility.LogWrite("가나다라");
                                prevPaper = EncodingToStringFitness(CheckSender(), m_save_buf);
                                sendMyNotify(SERIAL_PORT_NOTIFY_WHAT.ORDER_OBJECT, recv_order);
                            }
                        }
                    }
                }
                if (device.readConfigString("CONFIG_PRINT_OUTPUT", "is_use_usb_printer") == "1")
                {
                    ByteArrayToFile(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles) + "\\saveBuf" + (count4++).ToString() + ".txt", m_save_buf);
                }
                // 받은길이 초기화
                resetSaveBuf();
            }
            // 처리한 메시지 길이 반환
            return(copy_offset + copy_length);
        }
Beispiel #16
0
        private void gridView_CustomDrawCell(object sender, DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e)
        {
            if (gridView.FocusedRowHandle < 0 && sender.GetType() != typeof(GridView))
            {
                return;
            }

            try
            {
                if (gridView.IsRowSelected(e.RowHandle) || gridView.FocusedRowHandle == e.RowHandle)
                {
                    Rectangle bounds = e.Bounds; // rowInfo.Bounds;
                    bounds.X     -= 1;
                    bounds.Width += 2;
                    if (null == m_focus_pen)
                    {
                        m_focus_pen = new Pen(Brushes.OrangeRed, 2);
                    }
                    e.Graphics.DrawLine(m_focus_pen, new Point(bounds.X, bounds.Y), new Point(bounds.X + bounds.Width, bounds.Y));
                    e.Graphics.DrawLine(m_focus_pen, new Point(bounds.X, bounds.Y + bounds.Height), new Point(bounds.X + bounds.Width, bounds.Y + bounds.Height));
                }

                switch (e.Column.FieldName)
                {
                case "display_index":
                {
                    e.DisplayText = (gridControl.FocusedView.RowCount - e.RowHandle).ToString();
                }
                break;

                case "state_cd":
                {
                    //Debug.WriteLine("e.Column.FieldName : " + e.Column.FieldName);
                    //Debug.WriteLine("ObjOrder.getStateString(state_cd) : " + ObjOrder.getStateString(state_cd));
                    int    state_cd = (int)e.CellValue;
                    string text     = ObjOrder.getStateString(state_cd);
                    Bitmap img      = ObjOrder.getStateImage(state_cd);
                    if (img != null)
                    {
                        Point pos = new Point();
                        pos.X = e.Bounds.Location.X + 2;
                        pos.Y = e.Bounds.Location.Y + ((e.Bounds.Height - img.Height) / 2);

                        e.Graphics.DrawImage(img, pos.X, pos.Y, img.Width, img.Height);

                        int       margin_x = img.Width + 4;
                        Rectangle rect     = new Rectangle(e.Bounds.X + margin_x, e.Bounds.Y, e.Bounds.Width - margin_x, e.Bounds.Height);
                        e.Appearance.DrawString(e.Cache, text, rect);

                        e.Handled = true;
                    }
                }
                break;

                case "call_num":
                {
                    e.DisplayText = ((null == e.CellValue || 8 > e.CellValue.ToString().Length) ? e.CellValue.ToString() : KnUtil.formatTelNumber(e.CellValue.ToString()));
                }
                break;
                }
            }
            catch (Exception ex)
            {
                String erro_msg = (null == ex.Message ? "error - OrderList_gridView_CustomDrawCell" : ex.Message);
                TsLog.writeLog(erro_msg);
                //Debug.Assert(false, erro_msg);
            }
        }
Beispiel #17
0
        private void gridView_CustomColumnDisplayText(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgs e)
        {
            // row handle & sender check
            if (gridView.FocusedRowHandle < 0 && sender.GetType() != typeof(GridView))
            {
                return;
            }

            try
            {
                switch (e.Column.FieldName)
                {
                case "order_type":
                {
                    int order_type = ((null == e.Value || 0 == e.Value.ToString().Length) ? 0 : (int)e.Value);
                    e.DisplayText = ObjOrder.getOrderTypeString(order_type);
                }
                break;

                case "call_datetime":
                {
                    DateTime datetime = ((null == e.Value || 8 > e.Value.ToString().Length) ? DateTime.MinValue : (DateTime)e.Value);
                    e.DisplayText = (DateTime.MinValue == datetime ? "" : datetime.ToString("MM-dd HH:mm"));
                }
                break;

                case "date_1":
                {
                    DateTime datetime = ((null == e.Value || 8 > e.Value.ToString().Length) ? DateTime.MinValue : (DateTime)e.Value);
                    e.DisplayText = (DateTime.MinValue == datetime ? "" : datetime.ToString("HH:mm"));
                }
                break;

                case "date_2":
                {
                    DateTime datetime = ((null == e.Value || 8 > e.Value.ToString().Length) ? DateTime.MinValue : (DateTime)e.Value);
                    e.DisplayText = (DateTime.MinValue == datetime ? "" : datetime.ToString("HH:mm"));
                }
                break;

                case "date_3":
                {
                    DateTime datetime = ((null == e.Value || 8 > e.Value.ToString().Length) ? DateTime.MinValue : (DateTime)e.Value);
                    e.DisplayText = (DateTime.MinValue == datetime ? "" : datetime.ToString("HH:mm"));
                }
                break;

                case "date_4":
                {
                    DateTime datetime = ((null == e.Value || 8 > e.Value.ToString().Length) ? DateTime.MinValue : (DateTime)e.Value);
                    e.DisplayText = (DateTime.MinValue == datetime ? "" : datetime.ToString("HH:mm"));
                }
                break;

                case "date_5":
                {
                    DateTime datetime = ((null == e.Value || 8 > e.Value.ToString().Length) ? DateTime.MinValue : (DateTime)e.Value);
                    e.DisplayText = (DateTime.MinValue == datetime ? "" : datetime.ToString("HH:mm"));
                }
                break;

                case "date_6":
                {
                    DateTime datetime = ((null == e.Value || 8 > e.Value.ToString().Length) ? DateTime.MinValue : (DateTime)e.Value);
                    e.DisplayText = (DateTime.MinValue == datetime ? "" : datetime.ToString("HH:mm"));
                }
                break;

                case "date_7":
                {
                    DateTime datetime = ((null == e.Value || 8 > e.Value.ToString().Length) ? DateTime.MinValue : (DateTime)e.Value);
                    e.DisplayText = (DateTime.MinValue == datetime ? "" : datetime.ToString("HH:mm"));
                }
                break;

                case "customer_pay_type_cd":
                {
                    int customer_pay_type_cd = ((null == e.Value || 0 == e.Value.ToString().Length) ? 0 : (int)e.Value);
                    e.DisplayText = ObjOrder.getCustPayTypeString(customer_pay_type_cd);
                }
                break;

                case "shop_cost":
                {
                    e.DisplayText = ((null == e.Value || 0 == e.Value.ToString().Length) ? "" : KnUtil.formatMoney((int)e.Value));
                }
                break;

                case "customer_cost":
                {
                    e.DisplayText = ((null == e.Value || 0 == e.Value.ToString().Length) ? "" : KnUtil.formatMoney((int)e.Value));
                }
                break;
                }
            }
            catch (Exception ex)
            {
                String erro_msg = (null == ex.Message ? "error - OrderList_gridView_CustomColumnDisplayText" : ex.Message);
                TsLog.writeLog(erro_msg);
                Debug.Assert(false, erro_msg);
            }
        }