예제 #1
0
        /// <summary>
        /// 計算門市等級
        /// </summary>
        /// <param name="ParameterList">變數集</param>
        /// <param name="ErrMsg">錯誤訊息</param>
        /// <returns>回傳計算成功或失敗</returns>
        private bool CalculateStoreRank(ArrayList ParameterList,
                                        ref string ErrMsg
                                        )
        {
            #region

            bool bResult = false;
            Hashtable ht = GetInputValues(ParameterList);
            ht.Add("Module", "ALO");
            ht.Add("FlagName", "SET_STORERANK_YN");
            ht.Add("InProcess", "Y");
            DataTable dtTemp;

            ALOModel.MaintainStoreRank BCO = new ALOModel.MaintainStoreRank(ConntionDB);

            try
            {

                dtTemp = BCO.CheckSysProcFlag();//檢查是否可進行計算

                if (dtTemp != null && dtTemp.Rows.Count > 0)
                {
                    #region
                    if (dtTemp.Rows[0]["errStoreRank"].ToString().Trim() != "")
                    {
                        ErrMsg = dtTemp.Rows[0]["errStoreRank"].ToString().Trim();
                        return bResult;
                    }

                    if (dtTemp.Rows[0]["errDisRec"].ToString().Trim() != "")
                    {
                        ErrMsg = dtTemp.Rows[0]["errDisRec"].ToString().Trim();
                        return bResult;
                    }

                    if (dtTemp.Rows[0]["errMultiDisRec"].ToString().Trim() != "")
                    {
                        ErrMsg = dtTemp.Rows[0]["errMultiDisRec"].ToString().Trim();
                        return bResult;
                    }
                    #endregion

                    #region

                    bResult = BCO.ProcessCalculateStoreRank(ht);

                    #endregion
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return bResult;
            #endregion
        }
예제 #2
0
    private bool CalculateStoreRank()
    {
        #region

        bool bResult = false;
        Hashtable ht = GetInputValues();
        ht.Add("Module", "ALO");
        ht.Add("FlagName", "SET_STORERANK_YN");
        ht.Add("InProcess", "Y");
        DataTable dtTemp;

        ALOModel.MaintainStoreRank BCO = new ALOModel.MaintainStoreRank(ConnectionDB);

        try
        {

            dtTemp = BCO.CheckSysProcFlag();//檢查是否可進行計算

            if (dtTemp != null && dtTemp.Rows.Count > 0)
            {
                #region
                if (dtTemp.Rows[0]["errStoreRank"].ToString().Trim() != "")
                {
                    ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "ClientScript", string.Format("alert('{0}');", dtTemp.Rows[0]["errStoreRank"].ToString().Trim()), true);
                    return bResult;
                }

                if (dtTemp.Rows[0]["errDisRec"].ToString().Trim() != "")
                {
                    ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "ClientScript", string.Format("alert('{0}');", dtTemp.Rows[0]["errDisRec"].ToString().Trim()), true);
                    return bResult;
                }

                if (dtTemp.Rows[0]["errMultiDisRec"].ToString().Trim() != "")
                {
                    ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "ClientScript", string.Format("alert('{0}');", dtTemp.Rows[0]["errMultiDisRec"].ToString().Trim()), true);
                    return bResult;
                }
                #endregion

                #region

                bResult = BCO.ProcessCalculateStoreRank(ht);

                #region deleted
                //try
                //{
                //    BCO.SetSYS_PROC_FLAG(ht, null);//設定計算執行中
                //    BCO.BackupStoreRankDetl(ht, null);//備份明細檔
                //    BCO.Add_ALO_STORERANK_MainDetl2(ht, null);//新增主檔明細檔
                //    BCO.SetStoreRankValueLevel2(ht, null);//計算Rank_Value Rank_Level
                //    BCO.SetProcNoIsNullInDetl(ht, null);//設定明細檔計算處理批號欄位
                //    bResult = true;

                //    //DBT.Commit();//交易成功
                //}
                //catch (Exception ex)
                //{
                //    BCO.RollBackupStoreRankDetl(ht, null);//還原明細檔  
                //    //DBT.Rollback();//交易失敗
                //    throw ex;
                //}
                //finally
                //{
                //    ht["InProcess"] = null;
                //    BCO.SetSYS_PROC_FLAG(ht, null);//計算完畢
                //}
                #endregion

                #endregion
            }
        }
        catch (Exception ex)
        {
            throw ex;
        }

        return bResult;
        #endregion
    }