示例#1
0
        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);
            }
        }
示例#2
0
        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);
                NZString  SubType = new NZString(cboSubType, cboSubType.SelectedValue);

                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);
                }

                errorItem = val.CheckEmptySubType(SubType);
                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);
        }