public override void OnSaveAndClose() { try { fpIssueList.StopCellEditing(); // ต้องเรียกก่อน Save เสมอ เพื่อ Commit ข้อมูลการแก้ไขล่าสุดบน Grid // ใช้ได้เฉพาะกับ Sheet ที่ผูก DataSource CtrlUtil.SpreadSheetRowEndEdit(shtIssueList, shtIssueList.ActiveRowIndex); RemoveRowUnused(); // Validate Data before Save IssueEntryValidator valIssue = new IssueEntryValidator(); ErrorItem errorItem; errorItem = valIssue.CheckIssueDate(new NZDateTime(dtIssueDate, dtIssueDate.Value)); if (null != errorItem) { ValidateException.ThrowErrorItem(errorItem); } errorItem = valIssue.CheckEmptySubType(new NZString(cboSubType, cboSubType.SelectedValue)); if (null != errorItem) { ValidateException.ThrowErrorItem(errorItem); } //errorItem = valIssue.CheckEmptyItemCode(new NZString(txtItemCode, txtItemCode.Text)); //if (null != errorItem) ValidateException.ThrowErrorItem(errorItem); errorItem = valIssue.CheckEmptyLocFrom(new NZString(cboFromLoc, cboFromLoc.SelectedValue)); if (null != errorItem) { ValidateException.ThrowErrorItem(errorItem); } errorItem = valIssue.CheckEmptyLocTo(new NZString(cboToLoc, cboToLoc.SelectedValue)); if (null != errorItem) { ValidateException.ThrowErrorItem(errorItem); } errorItem = valIssue.CheckFromToLocation(new NZString(cboFromLoc, cboFromLoc.SelectedValue), new NZString(cboToLoc, cboToLoc.SelectedValue)); if (null != errorItem) { ValidateException.ThrowErrorItem(errorItem); } for (int i = 0; i < shtIssueList.Rows.Count; i++) { if (!ValidateRowSpread(i, true)) { return; } } MessageDialogResult dr = MessageDialog.ShowConfirmation(this, new EVOFramework.Message(Messages.eConfirm.CFM9001.ToString()).MessageDescription); switch (dr) { case MessageDialogResult.Cancel: return; case MessageDialogResult.No: // this.Close(); return; case MessageDialogResult.Yes: break; } if (m_Mode == eSaveMode.ADD) //|| (m_Mode == eSaveMode.UPDATE)) { if (SaveData()) { MessageDialog.ShowInformation(this, "Information", new EVOFramework.Message(Messages.eInformation.INF9003.ToString()).MessageDescription); Close(); } } else { if (SaveDataEditMode()) { MessageDialog.ShowInformation(this, "Information", new EVOFramework.Message(Messages.eInformation.INF9003.ToString()).MessageDescription); Close(); } } } catch (ValidateException err) { for (int i = 0; i < err.ErrorResults.Count; i++) { MessageDialog.ShowBusiness(this, err.ErrorResults[i].Message); err.ErrorResults[i].FocusOnControl(); } } catch (BusinessException err) { MessageDialog.ShowBusiness(this, err.Error.Message); err.Error.FocusOnControl(); } catch (Exception ex) { MessageDialog.ShowBusiness(this, ex.Message); } }
private bool CheckMandatory() { try { IssueEntryValidator val = new IssueEntryValidator(); CommonBizValidator commonVal = new CommonBizValidator(); #region Mandatory check ErrorItem errorItem; NZString FromLoc = new NZString(cboFromLoc, cboFromLoc.SelectedValue); NZString ToLoc = new NZString(cboToLoc, cboToLoc.SelectedValue); NZString ItemCD = new NZString(txtItemCode, txtItemCode.Text); NZString LotNo = new NZString(txtLotNo, txtLotNo.Text); InventoryPeriodBIZ biz = new InventoryPeriodBIZ(); InventoryPeriodDTO dto = biz.LoadPeriodByDate(new NZDateTime(dtIssueDate, dtIssueDate.Value)); errorItem = val.CheckIssueDate(new NZDateTime(null, dtIssueDate.Value)); if (null != errorItem) { // ถ้าเป็น issue ของเดือนถัดไปจะต้องทำได้ errorItem = val.CheckIssueMonth(new NZDateTime(null, dtIssueDate.Value)); if (null != errorItem) { ValidateException.ThrowErrorItem(errorItem); } } errorItem = val.CheckEmptyItemCode(ItemCD); if (null != errorItem) { ValidateException.ThrowErrorItem(errorItem); } errorItem = val.CheckEmptyLocFrom(FromLoc); if (null != errorItem) { ValidateException.ThrowErrorItem(errorItem); } errorItem = val.CheckEmptyLocTo(ToLoc); if (null != errorItem) { ValidateException.ThrowErrorItem(errorItem); } errorItem = val.CheckFromToLocation(FromLoc, ToLoc); if (null != errorItem) { ValidateException.ThrowErrorItem(errorItem); } if (m_Mode == eSaveMode.ADD) { //if (txtLotNo.Text == string.Empty) // ValidateException.ThrowErrorItem(new ErrorItem(txtLotNo, // TKPMessages.eValidate.VLM0067.ToString(), // new[] { FromLoc.StrongValue })); errorItem = commonVal.CheckInputLot(ItemCD, FromLoc, LotNo, true); if (null != errorItem) { ValidateException.ThrowErrorItem(errorItem); } } if (txtIssueQty.Text.Trim() == string.Empty) { txtIssueQty.Text = "0"; } if (txtOnHandQty.Text.Trim() == string.Empty) { txtOnHandQty.Text = "0"; } errorItem = val.CheckIssueQTY(new NZDecimal(txtIssueQty, Convert.ToDecimal(txtIssueQty.Text))); if (null != errorItem) { ValidateException.ThrowErrorItem(errorItem); } #endregion return(true); } catch (BusinessException err) { MessageDialog.ShowBusiness(this, err.Error.Message); err.Error.FocusOnControl(); } catch (ValidateException err) { MessageDialog.ShowBusiness(this, err.ErrorResults[0].Message); err.ErrorResults[0].FocusOnControl(); } return(false); }