Example #1
0
        //回傳值 true.通過驗證 false.未通過驗證,
        protected override bool WfItemCheck(object sender, ItemCheckInfo e)
        {
            int                iChkCnts    = 0;
            vw_admi650s        detailModel = null;
            List <vw_admi650s> detailList  = null;
            UltraGrid          uGrid;

            try
            {
                #region 單頭-pick vw_admi650
                if (e.Row.Table.Prefix.ToLower() == "vw_admi650")
                {
                    switch (e.Column.ToLower())
                    {
                    case "azp01":    //開窗代號
                        if (GlobalFn.varIsNull(e.Value))
                        {
                            return(true);
                        }
                        if (BoAdm.OfChkAzp01Exists(GlobalFn.isNullRet(e.Value, "")) == true)
                        {
                            WfShowErrorMsg("開窗代號已存在,請檢核!");
                            return(false);
                        }
                        break;

                    case "azp03":    //主要資料表
                        if (GlobalFn.varIsNull(e.Value))
                        {
                            return(true);
                        }
                        if (BoAdm.OfChkAtb01Exists(GlobalFn.isNullRet(e.Value, "")) == false)
                        {
                            WfShowErrorMsg("無此資料表代碼,請檢核!");
                            return(false);
                        }
                        e.Row["azp03_c"] = BoAdm.OfGetAtb02(GlobalFn.isNullRet(e.Value, ""));
                        break;
                    }
                }
                #endregion

                #region 單身-pick vw_admi650s
                if (e.Row.Table.Prefix.ToLower() == "vw_admi650s")
                {
                    uGrid       = sender as UltraGrid;
                    detailModel = e.Row.ToItem <vw_admi650s>();
                    switch (e.Column.ToLower())
                    {
                    case "azq02":    //項次
                        if (GlobalFn.varIsNull(e.Value))
                        {
                            return(true);
                        }
                        if (GlobalFn.isNullRet(e.Value, 0) <= 0)
                        {
                            WfShowErrorMsg("項次應大於0,請檢核!");
                            return(false);
                        }
                        detailList = e.Row.Table.ToList <vw_admi650s>();
                        iChkCnts   = detailList.Where(p => GlobalFn.isNullRet(p.azq02, 0) == GlobalFn.isNullRet(e.Value, 0))
                                     .Count();
                        if (iChkCnts > 1)
                        {
                            WfShowErrorMsg("項次已存在,請檢核!");
                            return(false);
                        }
                        break;

                    case "azq03":    //資料表代碼
                        if (GlobalFn.varIsNull(e.Value))
                        {
                            e.Row["azq03_c"] = "";
                            return(true);
                        }
                        if (BoAdm.OfChkAtb01Exists(GlobalFn.isNullRet(e.Value, "")) == false)
                        {
                            WfShowErrorMsg("無此資料表代碼,請檢核!");
                            return(false);
                        }
                        e.Row["azq03_c"] = BoAdm.OfGetAtb02(GlobalFn.isNullRet(e.Value, ""));
                        break;

                    case "azq04":    //資料欄位代碼
                        if (GlobalFn.varIsNull(e.Value))
                        {
                            e.Row["azq04_c"] = "";
                            return(true);
                        }

                        if (BoAdm.OfChkAtc02Exists(GlobalFn.isNullRet(e.Value, "")) == false)
                        {
                            WfShowErrorMsg("無此資料欄位代碼,請檢核!");
                            return(false);
                        }
                        e.Row["azq04_c"] = BoAdm.OfGetAtc03(GlobalFn.isNullRet(e.Value, ""));
                        break;
                    }
                }
                #endregion

                return(true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Example #2
0
        protected override bool WfFormCheck()
        {
            vw_admi650  masterModel = null;
            vw_admi650s detailModel = null;
            UltraGrid   uGrid;
            string      msg;
            Control     chkControl;
            string      chkColName;
            int         iChkDetailTab;

            try
            {
                masterModel = DrMaster.ToItem <vw_admi650>();
                #region 單頭資料檢查
                chkColName = "azp01";
                chkControl = ute_azp01;
                if (GlobalFn.varIsNull(masterModel.azp01))
                {
                    this.uTab_Master.SelectedTab = uTab_Master.Tabs[0];
                    chkControl.Focus();
                    msg  = TabMaster.AzaTbList.Where(p => p.aza03 == chkColName).Select(p => p.aza04).FirstOrDefault();
                    msg += "不可為空白";
                    errorProvider.SetError(chkControl, msg);
                    WfShowErrorMsg(msg);
                    return(false);
                }

                chkColName = "azp02";
                chkControl = ute_azp02;
                if (GlobalFn.varIsNull(masterModel.azp02))
                {
                    this.uTab_Master.SelectedTab = uTab_Master.Tabs[0];
                    chkControl.Focus();
                    msg  = TabMaster.AzaTbList.Where(p => p.aza03 == chkColName).Select(p => p.aza04).FirstOrDefault();
                    msg += "不可為空白";
                    errorProvider.SetError(chkControl, msg);
                    WfShowErrorMsg(msg);
                    return(false);
                }

                chkColName = "azp03";
                chkControl = ute_azp03;
                if (GlobalFn.varIsNull(masterModel.azp03))
                {
                    this.uTab_Master.SelectedTab = uTab_Master.Tabs[0];
                    chkControl.Focus();
                    msg  = TabMaster.AzaTbList.Where(p => p.aza03 == chkColName).Select(p => p.aza04).FirstOrDefault();
                    msg += "不可為空白";
                    errorProvider.SetError(chkControl, msg);
                    WfShowErrorMsg(msg);
                    return(false);
                }
                #endregion

                #region 單身資料檢查
                iChkDetailTab = 0;
                uGrid         = TabDetailList[iChkDetailTab].UGrid;
                foreach (DataRow drTemp in TabDetailList[iChkDetailTab].DtSource.Rows)
                {
                    detailModel = drTemp.ToItem <vw_admi650s>();
                    #region azq03-資料表代碼
                    chkColName = "azq03";
                    if (GlobalFn.varIsNull(detailModel.azq03))
                    {
                        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 azq04-資料欄位代碼
                    chkColName = "azq04";
                    if (GlobalFn.varIsNull(detailModel.azq04))
                    {
                        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 azq06-資料元件類型
                    chkColName = "azq06";
                    if (GlobalFn.varIsNull(detailModel.azq06))
                    {
                        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;
            }
        }
Example #3
0
        protected override bool WfPickClickOnEditMode(object sender, string pColName, DataRow pDr)
        {
            vw_admi650s detailModel = null;
            UltraGrid   uGrid;

            try
            {
                MessageInfo messageModel = new MessageInfo();
                #region 單頭-pick vw_admi650
                if (pDr.Table.Prefix.ToLower() == "vw_admi650")
                {
                    switch (pColName.ToLower())
                    {
                    case "azp03":    //主要資料表
                        WfShowPickUtility("p_atb", messageModel);
                        if (messageModel.Result == System.Windows.Forms.DialogResult.OK)
                        {
                            if (messageModel.DataRowList.Count > 0)
                            {
                                pDr[pColName] = GlobalFn.isNullRet(messageModel.DataRowList[0]["atb01"], "");
                            }
                            else
                            {
                                pDr[pColName] = "";
                            }
                        }
                        //if (messageModel != null && messageModel.DataRowList.Count > 0)
                        //{
                        //    pDr[pColName] = GlobalFn.isNullRet(messageModel.DataRowList[0]["atb01"], "");
                        //}
                        break;
                    }
                }
                #endregion

                #region 單身-pick vw_admi650s
                if (pDr.Table.Prefix.ToLower() == "vw_admi650s")
                {
                    detailModel = pDr.ToItem <vw_admi650s>();

                    uGrid = sender as UltraGrid;
                    switch (pColName.ToLower())
                    {
                    case "azq03":    //資料表名稱
                        WfShowPickUtility("p_atb", messageModel);
                        if (messageModel != null && messageModel.DataRowList.Count > 0)
                        {
                            pDr[pColName] = GlobalFn.isNullRet(messageModel.DataRowList[0]["atb01"], "");
                        }
                        break;

                    case "azq04":    //資料欄位名稱
                        if (GlobalFn.isNullRet(detailModel.azq03, "") == "")
                        {
                            WfShowPickUtility("p_atc", messageModel);
                        }
                        else
                        {
                            messageModel.ParamSearchList = new List <SqlParameter>();
                            messageModel.ParamSearchList.Add(new SqlParameter("@atc01", detailModel.azq03));
                            WfShowPickUtility("p_atc1", messageModel);
                        }

                        if (messageModel != null && messageModel.DataRowList.Count > 0)
                        {
                            pDr[pColName] = GlobalFn.isNullRet(messageModel.DataRowList[0]["atc02"], "");
                        }
                        break;
                    }
                }
                #endregion
                return(true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }