/// <summary> /// 입력된 금액이 CLEAR되면 처리 /// </summary> /// <param name="e"></param> void input_KeyEvent(WSWD.WmallPos.FX.Shared.OPOSKeyEventArgs e) { if (e.Key.OPOSKey == WSWD.WmallPos.FX.Shared.OPOSMapKeys.KEY_CLEAR) { ValidateCurrentInput(); } else { InputText input = (InputText)this.FocusedControl; SaleGridCell cell = (SaleGridCell)input.Parent; if (cell.ColumnIndex == 8) { ValidateCurrentInput(); } } }
/// <summary> /// 반납상품교환권 등록화면 /// <param name="giftButton">해당행의 교환권번호버튼</param> /// </summary> void ShowDetailExchGiftList(WSWD.WmallPos.POS.FX.Win.UserControls.Button giftButton) { // TODO // 1. Check amount, remain 회수금액 > 0 // 2. Check 미회수입력 SaleGridCell cell = giftButton.Parent as SaleGridCell; SaleGridRow row = cell.Row; string noRtnReason = row.Cells[8].Controls[0].Text; if (!string.IsNullOrEmpty(noRtnReason)) { ShowMessageBox(WSWD.WmallPos.FX.Shared.MessageDialogType.Warning, string.Empty, ERR_MSG_NORTN_RSN_ENTER_INVALID); return; } if (string.IsNullOrEmpty(giftButton.Text)) { return; } string exchGiftNo = giftButton.Text; Int64 cashAmt = TypeHelper.ToInt64(row.Cells[5].Controls[0].Text.Replace(",", "")); //Int64 giftAmt = TypeHelper.ToInt64(row.Cells[6].Controls[0].Text.Replace(",", "")); Int64 retAmt = TypeHelper.ToInt64(row.Cells[4].Controls[0].Text.Replace(",", "")); // SHOW POUPP using (var pop = ChildManager.ShowPopup(string.Empty, "WSWD.WmallPos.POS.SL.dll", "WSWD.WmallPos.POS.SL.VC.POS_SL_P007", m_rtnPrsGiftList, giftButton.Text, retAmt - cashAmt)) { var res = pop.ShowDialog(this); if (res == DialogResult.OK) { // Update back to row data from P007 pop var retList = (List <RtnPrsGiftData>)pop.ReturnResult["GIFT_LIST"]; m_rtnPrsGiftList[giftButton.Text] = retList; // update total input gift amt; PQ11RespData data = (PQ11RespData)row.ItemData; data.RtnGiftAmt = (long)pop.ReturnResult["GIFT_TOTAL"]; row.Cells[6].Controls[0].Text = data.RtnGiftAmt.ToString(); data.RtnPrsnList = new List <RtnPrsGiftData>(); data.RtnPrsnList.AddRange(retList); } } }
/// <summary> /// Process ENTER, CLEAR: next previous (clear) /// ENTER KEy for GiftNo; process PG01 /// ENTER key for Amt: proces Korean won amount /// CLEAR key for GiftNo: Reset input current row /// /// </summary> /// <param name="e"></param> void POS_SL_P007_KeyEvent(WSWD.WmallPos.FX.Shared.OPOSKeyEventArgs e) { if (this.FocusedControl != null) { InputText it = (InputText)this.FocusedControl; SaleGridCell cell = (SaleGridCell)it.Parent; // 교환권번호컬럼 if (cell.ColumnIndex == 1) { // GiftNo, clear, reset input, invalid if (it.Text.Length > 0 && e.Key.OPOSKey == WSWD.WmallPos.FX.Shared.OPOSMapKeys.KEY_BKS) { //2015.08.26 정광호 수정 ResetInputs(true); //ResetInputs(); return; } if (it.Text.Length > 0 && e.Key.OPOSKey == WSWD.WmallPos.FX.Shared.OPOSMapKeys.KEY_CLEAR) { it.Text = string.Empty; e.IsHandled = true; //2015.08.26 정광호 수정 ResetInputs(true); //ResetInputs(); return; } if (it.Text.Length > 0 && e.Key.OPOSKey == WSWD.WmallPos.FX.Shared.OPOSMapKeys.KEY_ENTER) { ValidateGiftNo(false, it.Text); e.IsHandled = true; return; } if (!e.IsControlKey) { StatusMessage = MSG_INPUT; } } if (e.Key.OPOSKey == WSWD.WmallPos.FX.Shared.OPOSMapKeys.KEY_CLEAR) { SaleGridRow row = (SaleGridRow)cell.Parent; var itNo = (InputText)row.Cells[1].Controls[0]; if (it.Text.Length > 0 && !it.ReadOnly && itNo.Text.Length == 0) { e.IsHandled = true; it.Text = string.Empty; UpdateTotalGiftAmt(); return; } e.IsHandled = true; this.PreviousControl(); } else if (e.Key.OPOSKey == WSWD.WmallPos.FX.Shared.OPOSMapKeys.KEY_ENTER) { // validate number enterred if (cell.ColumnIndex == 3 && !it.ReadOnly) { var val = TypeHelper.ToInt64(it.Text.Replace(",", "")); val = ValidateMoney(val); it.Text = val.ToString(); } // update total git amount UpdateTotalGiftAmt(); e.IsHandled = true; this.NextControl(); } } }
/// <summary> /// 행만들기 /// </summary> /// <param name="row"></param> void ItemsGrid_BuildRowCells(SaleGridCell cell) { Label lbl = null; switch (cell.ColumnIndex) { case SLExtensions.CELL_INDEX_NO: #region ITEM NO lbl = new Label(); lbl.Left = 0; lbl.Top = 0; lbl.AutoSize = false; lbl.TextAlign = ContentAlignment.MiddleCenter; lbl.Height = cell.Height; lbl.Width = cell.Width; cell.Controls.Add(lbl); #endregion break; case SLExtensions.CELL_INDEX_ITEM: #region 상품코드 & 명 // ITEMCODE lbl = new Label(); lbl.Left = 0; lbl.Top = 0; lbl.AutoSize = false; lbl.TextAlign = ContentAlignment.MiddleLeft; lbl.Height = cell.Height / 2; lbl.ForeColor = Color.FromArgb(110, 56, 180); lbl.Width = cell.Width; cell.Controls.Add(lbl); // ITEMNAME int h = lbl.Height; lbl = new Label(); lbl.Left = 0; lbl.Top = cell.Height - h; lbl.AutoSize = false; lbl.Height = cell.Height / 2; lbl.Width = cell.Width; lbl.ForeColor = Color.FromArgb(110, 56, 180); cell.Controls.Add(lbl); #endregion break; case SLExtensions.CELL_INDEX_QTY: #region 수량 lbl = new Label() { Left = 0, Top = 0, Width = cell.Width, Height = cell.Height, AutoSize = false, TextAlign = ContentAlignment.MiddleRight }; cell.Controls.Add(lbl); #endregion break; case SLExtensions.CELL_INDEX_PRICE: #region 단가 lbl = new Label() { Left = 0, Top = 0, Width = cell.Width, Height = cell.Height, AutoSize = false, TextAlign = ContentAlignment.MiddleRight }; cell.Controls.Add(lbl); #endregion break; case SLExtensions.CELL_INDEX_DISCP: #region % columns lbl = new Label() { Left = 0, Top = 0, Width = cell.Width, Height = cell.Height, AutoSize = false, TextAlign = ContentAlignment.MiddleRight }; cell.Controls.Add(lbl); #endregion break; case SLExtensions.CELL_INDEX_DISCA: #region Discount - 할인 lbl = new Label() { Left = 0, Top = 0, Width = cell.Width, Height = cell.Height, AutoSize = false, TextAlign = ContentAlignment.MiddleRight }; cell.Controls.Add(lbl); #endregion break; case SLExtensions.CELL_INDEX_AMT: #region 금액 - Amount lbl = new Label() { Left = 0, Top = 0, Width = cell.Width, Height = cell.Height, AutoSize = false, TextAlign = ContentAlignment.MiddleRight }; cell.Controls.Add(lbl); #endregion break; default: break; } }
/// <summary> /// 현재입력중인 데이타를 확인한다 /// </summary> void ValidateCurrentInput() { if (this.FocusedControl == null) { return; } InputText input = (InputText)this.FocusedControl; if ((input.Tag == null ? false : (bool)input.Tag)) { return; } SaleGridCell cell = (SaleGridCell)input.Parent; Int64 val = 0; if (cell.ColumnIndex != 8 & input.DataType == WSWD.WmallPos.POS.FX.Shared.InputTextDataType.Numeric) { val = TypeHelper.ToInt64(input.Text); val = ValidateMoney(val); input.Text = val.ToString(); } PQ11RespData data = (PQ11RespData)cell.Row.ItemData; if (data == null) { return; } // todo // 1.aappl value to data item; switch (cell.ColumnIndex) { case 5: // if cash column; it ExchGiftNo empty, only accept cash if (string.IsNullOrEmpty(data.ExchGiftNo)) { data.RtnCashAmt = val; data.RtnGiftCashAmt = 0; } else { // if not, accept cash stands for gift data.RtnGiftCashAmt = val; data.RtnCashAmt = 0; } break; case 6: data.RtnGiftAmt = val; break; case 7: // 현물금액 data.RtnPresentAmt = val; break; default: //if (!"1".Equals(input.Text) && !string.IsNullOrEmpty(input.Text)) //{ // input.Text = "2"; //} if (!string.IsNullOrEmpty(input.Text)) { if (!m_nonRtnReasons.ContainsKey(input.Text)) { input.Text = string.Empty; } } data.RtnCantRsn = input.Text; break; } }