public DataTable QueryStorRankByFind(Hashtable htParams)
 {
     #region
     try
     {
         VDS_ALO_STORERANK_MAIN_DBO ALOM = new VDS_ALO_STORERANK_MAIN_DBO(ref USEDB);
         return ALOM.doQueryByFind(htParams);
     }
     catch (Exception ex)
     {
         throw GetNewException(ex);
     }
     #endregion
 }
        public DataTable QueryStorRankForExcel(Hashtable htParams)
        {
            #region
            try
            {
                VDS_ALO_RANK_MAIN_DBO ALOR = new VDS_ALO_RANK_MAIN_DBO(ref USEDB);

                string strDynamicSQL = "";
                DataTable dtTemp = ALOR.doQueryAll();
                Int32 iRow = 0;

                foreach (DataRow dr in dtTemp.Rows)
                {
                    iRow++;

                    strDynamicSQL += string.Format(
                        "(select d1.rank_code from vds_alo_storerank_detl d1 where d1.rank_code='{0}' and d1.pid=d.pid) Rank{1}," +
                        "(select r5.NAME from vds_alo_storerank_detl d1 left join vds_alo_rank_main r5 ON (d1.rank_code = r5.code AND r5.ENABLE = 1)  where d1.rank_code='{0}' and d1.pid=d.pid) Rank名稱{1}," +
                        "(select d1.rank_value from vds_alo_storerank_detl d1 where d1.rank_code='{0}' and d1.pid=d.pid) 數值{1}," +
                        "(select d1.rank_level from vds_alo_storerank_detl d1 where d1.rank_code='{0}' and d1.pid=d.pid) 等級{1},", dr["CODE"], iRow);

                }



                if (strDynamicSQL.Trim() != "")
                {
                    strDynamicSQL = strDynamicSQL.Substring(0, strDynamicSQL.Length - 1);
                }


                htParams["DynamicSql"] = strDynamicSQL;



                VDS_ALO_STORERANK_MAIN_DBO ALOM = new VDS_ALO_STORERANK_MAIN_DBO(ref USEDB);
                return ALOM.doQueryForExcel(htParams);
            }
            catch (Exception ex)
            {
                throw GetNewException(ex);
            }
            #endregion
        }
        public int RollBackupStoreRankDetl(Hashtable htParams, DbTransaction RootDBT)
        {
            #region
            int iResult = 0;
            bool IsRootTranscation = false;

            try
            {
                VDS_ALO_STORERANK_MAIN_DBO ALOM = new VDS_ALO_STORERANK_MAIN_DBO(ref USEDB);

                //判斷是否有傳入Root Transcation 
                IsRootTranscation = (RootDBT == null) ? true : false;


                #region 啟動交易或指定RootTranscation

                if (IsRootTranscation)
                {
                    //獨立呼叫啟動Transcation
                    Conn = USEDB.CreateConnection();
                    Conn.Open();
                    DBT = Conn.BeginTransaction();
                }
                else
                {
                    DBT = RootDBT;
                }

                #endregion

                iResult = ALOM.doRollBackupStoreRankDetl(htParams, DBT);

                #region 交易成功

                if (IsRootTranscation)
                {
                    //獨立呼叫Transcation成立
                    DBT.Commit();
                }

                #endregion

                return iResult;
            }
            catch (Exception ex)
            {
                #region 交易失敗

                if (IsRootTranscation)
                {
                    //獨立呼叫Transcation失敗
                    DBT.Rollback();
                }

                #endregion

                throw GetNewException(ex);
            }
            finally
            {
                #region 判斷是否關閉交易連線

                if (IsRootTranscation)
                {
                    //獨立呼叫Transcation,關閉連線
                    if (Conn.State == ConnectionState.Connecting)
                    {
                        Conn.Close();
                    }
                }

                #endregion
            }

            #endregion
        }
        public DataTable QueryStorRankForExcel2(Hashtable htParams)
        {
            #region
            try
            {
                VDS_ALO_RANK_MAIN_DBO ALOR = new VDS_ALO_RANK_MAIN_DBO(ref USEDB);

                string strDynamicSQL1 = "", strDynamicSQL2 = "", strDynamicSQL3 = "";
                DataTable dtTemp = ALOR.doQueryAll();
                Int32 iRow = 0;

                foreach (DataRow dr in dtTemp.Rows)
                {
                    iRow++;

                    strDynamicSQL1 += string.Format(
                       " ,r{1}.rank_code rank{1},'{0}' as Rank名稱{1}, r{1}.rank_value as 數值{1}, r{1}.rank_level as 等級{1}", dr["NAME"], iRow);

                    strDynamicSQL2 += string.Format(
                       " ,vds_alo_storerank_detl r{0}", iRow);

                    strDynamicSQL3 += string.Format(
                       " and (x.id = r{1}.pid(+) and r{1}.rank_code(+)='{0}')", dr["CODE"], iRow);

                }

                htParams["DynamicSql1"] = strDynamicSQL1;
                htParams["DynamicSql2"] = strDynamicSQL2;
                htParams["DynamicSql3"] = strDynamicSQL3;


                VDS_ALO_STORERANK_MAIN_DBO ALOM = new VDS_ALO_STORERANK_MAIN_DBO(ref USEDB);
                return ALOM.doQueryForExcel2(htParams);
            }
            catch (Exception ex)
            {
                throw GetNewException(ex);
            }
            #endregion
        }
 public DataTable CheckSysProcFlag()
 {
     #region
     try
     {
         VDS_ALO_STORERANK_MAIN_DBO ALOM = new VDS_ALO_STORERANK_MAIN_DBO(ref USEDB);
         return ALOM.doCheckSysProcFlag();
     }
     catch (Exception ex)
     {
         throw GetNewException(ex);
     }
     #endregion
 }
 public bool CheckCanCopy(Hashtable htParams)
 {
     #region
     try
     {
         VDS_ALO_STORERANK_MAIN_DBO ALOM = new VDS_ALO_STORERANK_MAIN_DBO(ref USEDB);
         return ALOM.doCheckCanCopy(htParams);
     }
     catch (Exception ex)
     {
         throw GetNewException(ex);
     }
     #endregion
 }
 /// <summary>
 /// 判斷Excel筆數是否超過上限
 /// </summary>
 /// <param name="htParams"></param>
 /// <returns></returns>
 public bool CheckExcelOutCount(Hashtable htParams, Int32 iLimitedRowsCounts)
 {
     #region
     try
     {
         VDS_ALO_STORERANK_MAIN_DBO ALOM = new VDS_ALO_STORERANK_MAIN_DBO(ref USEDB);
         return ALOM.doCheckExcelOutCount(htParams, iLimitedRowsCounts);
     }
     catch (Exception ex)
     {
         throw GetNewException(ex);
     }
     #endregion
 }