Ejemplo n.º 1
0
        //回傳值 true.通過驗證 false.未通過驗證,會把值還原
        protected override bool WfItemCheck(object sender, ItemCheckInfo e)
        {
            int                iChkCnts    = 0;
            vw_admi602s        detailModel = null;
            List <vw_admi602s> detailList  = null;
            UltraGrid          uGrid;

            try
            {
                #region 單身-vw_admi602s
                if (e.Row.Table.Prefix.ToLower() == "vw_admi602s")
                {
                    uGrid       = sender as UltraGrid;
                    detailModel = e.Row.ToItem <vw_admi602s>();
                    switch (e.Column.ToLower())
                    {
                    case "adq02":    //功能代號
                        if (GlobalFn.varIsNull(e.Value))
                        {
                            return(true);
                        }

                        detailList = e.Row.Table.ToList <vw_admi602s>();
                        iChkCnts   = detailList.Where(p => GlobalFn.isNullRet(p.adq02, 0) == GlobalFn.isNullRet(e.Value, 0))
                                     .Count();
                        if (iChkCnts > 1)
                        {
                            WfShowErrorMsg("功能代號已存在,請檢核!");
                            return(false);
                        }
                        break;
                    }
                }
                #endregion

                return(true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Ejemplo n.º 2
0
        protected override bool WfFormCheck()
        {
            vw_admi602  masterModel = null;
            vw_admi602s detailModel = null;
            UltraGrid   uGrid;
            string      msg;
            Control     chkControl;
            string      chkColName;
            int         iChkDetailTab;

            try
            {
                masterModel = DrMaster.ToItem <vw_admi602>();
                #region 單身資料檢查
                iChkDetailTab = 0;
                uGrid         = TabDetailList[iChkDetailTab].UGrid;
                foreach (DataRow drTemp in TabDetailList[iChkDetailTab].DtSource.Rows)
                {
                    if (drTemp.RowState == DataRowState.Unchanged)  //未異動的資料就不檢查了
                    {
                        continue;
                    }

                    detailModel = drTemp.ToItem <vw_admi602s>();
                    #region adq02-功能代號
                    chkColName = "adq02";
                    if (GlobalFn.varIsNull(detailModel.adq02))
                    {
                        this.uTab_Detail.SelectedTab = uTab_Detail.Tabs[iChkDetailTab];
                        msg  = TabDetailList[iChkDetailTab].AzaTbList.Where(p => p.aza03 == chkColName).Select(p => p.aza04).FirstOrDefault();
                        msg += "不可為空白";
                        WfShowErrorMsg(msg);
                        WfFindErrUltraGridCell(uGrid, drTemp, chkColName);
                        return(false);
                    }
                    #endregion

                    #region adq03-功能名稱
                    chkColName = "adq03";
                    if (GlobalFn.varIsNull(detailModel.adq03))
                    {
                        this.uTab_Detail.SelectedTab = uTab_Detail.Tabs[iChkDetailTab];
                        msg  = TabDetailList[iChkDetailTab].AzaTbList.Where(p => p.aza03 == chkColName).Select(p => p.aza04).FirstOrDefault();
                        msg += "不可為空白";
                        WfShowErrorMsg(msg);
                        WfFindErrUltraGridCell(uGrid, drTemp, chkColName);
                        return(false);
                    }
                    #endregion

                    #region adq04-類別
                    chkColName = "adq04";
                    if (GlobalFn.varIsNull(detailModel.adq04))
                    {
                        this.uTab_Detail.SelectedTab = uTab_Detail.Tabs[iChkDetailTab];
                        msg  = TabDetailList[iChkDetailTab].AzaTbList.Where(p => p.aza03 == chkColName).Select(p => p.aza04).FirstOrDefault();
                        msg += "不可為空白";
                        WfShowErrorMsg(msg);
                        WfFindErrUltraGridCell(uGrid, drTemp, chkColName);
                        return(false);
                    }
                    #endregion
                }
                #endregion

                return(true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }