You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

874 lines
50 KiB

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using OT.IDAL;
using System.Data;
using System.Data.SqlClient;
using DBUtility;
namespace OT.SQLServerDAL
{
public class CommonClass : ICommonClass
{
#region 下拉選單
/// <summary>
/// 得到一個模組實體
/// </summary>
/// 使用地方: Menu.aspx.cs by Gary 2013/12/23
public DataSet GetDDLModuleList(string UserRoleId)
{
StringBuilder strSql = new StringBuilder();
strSql.Append(" WITH tr (ModuleID,ModuleName,ParentID) ");
strSql.Append(" as( ");
strSql.Append(" SELECT ModuleID,ModuleName,ParentID ");
strSql.Append(" FROM OTB_SYS_ModuleList WHERE ModuleID in ( SELECT DISTINCT ModuleID ");
strSql.Append(" FROM OTB_SYS_Authorize AS SA ");
strSql.Append(" INNER JOIN dbo.OTB_SYS_ProgramList AS PL ON SA.ProgramID = PL.ProgramID ");
strSql.Append(" WHERE SA.RuleID IN (SELECT RuleID FROM OTB_SYS_MembersToRule WHERE MemberID = @RULEID) and SA.AllowRight <>'' ");
strSql.Append(" ) ");
strSql.Append(" union all ");
strSql.Append(" SELECT b.ModuleID,b.ModuleName,b.ParentID ");
strSql.Append(" FROM OTB_SYS_ModuleList as b ");
strSql.Append(" inner join tr on b.ModuleID = tr.ParentID ");
strSql.Append(" ) ");
strSql.Append(" SELECT distinct ");
strSql.Append(" SM .ModuleID ");
strSql.Append(" ,SM .ModuleName ");
strSql.Append(" ,SM .ParentID ");
strSql.Append(" FROM [OTB_SYS_ModuleList] AS SM ");
strSql.Append(" inner join tr on sm.ModuleID in(tr.ModuleID) ");
strSql.Append(" WHERE ISNULL(SM .ParentID,'')='' ");
SqlParameter[] parameters = {
new SqlParameter("@RuleID", SqlDbType.NVarChar,50) };
parameters[0].Value = UserRoleId;
return DbHelperSQL.Query(strSql.ToString(), parameters);
//return DbHelperSQL.RunProcedure("OSP_Common_DDL_GetModuleListByUserGroupId", parameters, "ModuleList");
}
/// <summary>
/// 得到一個程式清單實體
/// </summary>
/// <param name="ModuleID"></param>
/// <param name="UserRoleId"></param>
/// <returns></returns>
/// 使用地方: ModuleDefault.aspx.cs by Gary 2013/12/23
public DataSet GetProgramListByModuleID(string ModuleID, string UserRoleId)
{
StringBuilder strSql = new StringBuilder();
//--Table1
strSql.Append(" WITH ViewList (ModuleID,ParentID) ");
strSql.Append(" as( ");
strSql.Append(" SELECT ModuleID,ParentID ");
strSql.Append(" FROM OTB_SYS_ModuleList WHERE ModuleID in ( SELECT DISTINCT ModuleID ");
strSql.Append(" FROM OTB_SYS_Authorize AS SA ");
strSql.Append(" INNER JOIN dbo.OTB_SYS_ProgramList AS PL ON SA.ProgramID = PL.ProgramID ");
strSql.Append(" WHERE SA.RuleID IN (SELECT RuleID FROM OTB_SYS_MembersToRule WHERE MemberID = @RuleID) and SA.AllowRight <> '' ");
strSql.Append(" ) ");
strSql.Append(" union all ");
strSql.Append(" SELECT b.ModuleID,b.ParentID ");
strSql.Append(" FROM OTB_SYS_ModuleList as b ");
strSql.Append(" inner join ViewList on b.ModuleID = ViewList.ParentID ");
strSql.Append(" WHERE ViewList.ModuleID<>b.ModuleID ");
strSql.Append(" ), ViewList1(ModuleID,ParentID,Level,AccountNameSort,ModuleIDSort,MainModule, ModuleName,OrderByValue,BgCss) ");
strSql.Append(" as( ");
strSql.Append(" SELECT ModuleID,ParentID,0 as Level,CONVERT(nvarchar(128),ModuleName),CONVERT(nvarchar(128),ModuleID),ModuleID,ModuleName,OrderByValue,BgCss ");
strSql.Append(" FROM OTB_SYS_ModuleList WHERE ParentID='' ");
strSql.Append(" union all ");
strSql.Append(" SELECT a.ModuleID,a.ParentID,b.Level+1,CONVERT(nvarchar(128),b.AccountNameSort+'/'+CONVERT(nvarchar(128),a.ModuleName)),CONVERT(nvarchar(128),b.ModuleIDSort+'/'+CONVERT(nvarchar(128),a.ModuleID)),b.MainModule,a.ModuleName,a.OrderByValue,a.BgCss ");
strSql.Append(" FROM OTB_SYS_ModuleList as a ");
strSql.Append(" inner join ViewList1 as b on b.ModuleID=a.ParentID ");
strSql.Append(" ),ViewList2 (ModuleID,ParentID,Level,AccountNameSort, ModuleIDSort,MainModule,ModuleName,OrderByValue,BgCss) ");
strSql.Append(" as ");
strSql.Append(" ( ");
strSql.Append(" select distinct * FROM ViewList1 WHERE ModuleID in (select ModuleID FROM ViewList) ");
strSql.Append(" ) ");
strSql.Append(" SELECT * FROM (SELECT DISTINCT ModuleID ");
strSql.Append(" , ModuleName ");
strSql.Append(" ,ParentID ");
strSql.Append(" ,'#' AS FILEPATH ");
strSql.Append(" ,'folder' AS ImgPath ");
strSql.Append(" ,AccountNameSort ");
strSql.Append(" ,ModuleIDSort ");
strSql.Append(" ,OrderByValue ");
strSql.Append(" ,ISNULL(BgCss,'red-box')as BgCss ");
strSql.Append(" FROM ViewList2 ");
strSql.Append(" WHERE ModuleID <> REPLACE(@ModuleID,'%','') and ParentID<>'' and CHARINDEX(REPLACE(@ModuleID,'%','') ,ModuleIDSort) > 0 ");
strSql.Append(" UNION ALL ");
strSql.Append(" SELECT DISTINCT ");
strSql.Append(" PL.ProgramID AS ModuleID ");
strSql.Append(" ,ProgramName AS ModuleName ");
strSql.Append(" ,ModuleID AS ParentID ");
strSql.Append(" ,FilePath ");
strSql.Append(" ,ISNULL(ImgPath,'') AS ImgPath ");
strSql.Append(" ,NULL AS AccountNameSort ");
strSql.Append(" ,NULL AS ModuleIDSort ");
strSql.Append(" ,OrderByValue ");
strSql.Append(" ,BgCss ");
strSql.Append(" FROM OTB_SYS_Authorize AS SA ");
strSql.Append(" INNER JOIN dbo.OTB_SYS_ProgramList AS PL ON SA.ProgramID = PL.ProgramID ");
strSql.Append(" WHERE ModuleID = REPLACE(@ModuleID,'%','') ");
strSql.Append(" AND ShowInList = 'Y' ");
strSql.Append(" AND SA.RuleID IN (SELECT RuleID FROM OTB_SYS_MembersToRule WHERE MemberID = @RuleID) ");
strSql.Append(" AND CHARINDEX('View',SA.AllowRight)>0)as abc ");
strSql.Append(" ORDER BY case when FILEPATH ='#' then 0 else 1 end,OrderByValue,ModuleID ; ");
// --Table2
strSql.Append(" SELECT DISTINCT ");
strSql.Append(" PL.ProgramID ");
strSql.Append(" ,ProgramName ");
strSql.Append(" ,ModuleID ");
strSql.Append(" ,pl.FilePath ");
strSql.Append(" ,ISNULL(att.FilePath,'') AS ImgPath ");
strSql.Append(" ,OrderByValue ");
strSql.Append(" FROM [OTB_SYS_ProgramList] AS PL ");
strSql.Append(" left join OTB_SYS_Attachments as att on pl.ImgPath =att.TargetRelationID ");
strSql.Append(" INNER JOIN OTB_SYS_Authorize AS SA ON SA.ProgramID = PL.ProgramID ");
strSql.Append(" WHERE SA.RuleID IN (SELECT RuleID FROM OTB_SYS_MembersToRule WHERE MemberID = @RuleID) AND CHARINDEX('View',SA.AllowRight)>0 ");
strSql.Append(" AND ShowInList = 'Y' ");
strSql.Append(" ORDER BY ModuleID,OrderByValue; ");
strSql.Append(" with ViewList1(ModuleID,ParentID,Level,AccountNameSort,ModuleIDSort, ModuleName,OrderByValue,BgCss) ");
strSql.Append(" as( ");
strSql.Append(" SELECT ModuleID,ParentID,0 as Level,CONVERT(nvarchar(128),ModuleName),CONVERT(nvarchar(128),ModuleID),ModuleName,OrderByValue,BgCss ");
strSql.Append(" FROM OTB_SYS_ModuleList WHERE ParentID='' ");
strSql.Append(" union all ");
strSql.Append(" SELECT a.ModuleID,a.ParentID,b.Level+1,CONVERT(nvarchar(128),b.AccountNameSort+'/'+CONVERT(nvarchar(128),a.ModuleName)),CONVERT(nvarchar(128),b.ModuleIDSort+'/'+CONVERT(nvarchar(128),a.ModuleID)),a.ModuleName,a.OrderByValue,a.BgCss ");
strSql.Append(" FROM OTB_SYS_ModuleList as a ");
strSql.Append(" inner join ViewList1 as b on b.ModuleID=a.ParentID ");
strSql.Append(" ) ");
strSql.Append(" SELECT a.ModuleID,a.ParentID,b.AccountNameSort,b.ModuleIDSort,a.ModuleName FROM dbo.OTB_SYS_ModuleList as a ");
strSql.Append(" inner join ViewList1 as b on a.ModuleID =b.ModuleID ");
strSql.Append(" WHERE a.ModuleID = REPLACE(@ModuleID,'%','') ; ");
//--Table3
strSql.Append(" WITH ViewList (ModuleID,ParentID) ");
strSql.Append(" as ");
strSql.Append(" ( ");
strSql.Append(" SELECT ModuleID,ParentID ");
strSql.Append(" FROM OTB_SYS_ModuleList WHERE ModuleID in ( SELECT DISTINCT ModuleID ");
strSql.Append(" FROM OTB_SYS_Authorize AS SA ");
strSql.Append(" INNER JOIN dbo.OTB_SYS_ProgramList AS PL ON SA.ProgramID = PL.ProgramID ");
strSql.Append(" WHERE SA.RuleID IN (SELECT RuleID FROM OTB_SYS_MembersToRule WHERE MemberID = @RuleID)and SA.AllowRight <>'' ");
strSql.Append(" ) ");
strSql.Append(" union all ");
strSql.Append(" SELECT b.ModuleID,b.ParentID ");
strSql.Append(" FROM OTB_SYS_ModuleList as b ");
strSql.Append(" inner join ViewList on b.ModuleID = ViewList.ParentID ");
strSql.Append(" WHERE ViewList.ModuleID<>b.ModuleID ");
strSql.Append(" ) ");
strSql.Append(" ,ViewList1(ModuleID,ParentID,Level,AccountNameSort,ModuleIDSort,MainModule, ModuleName,OrderByValue,BgCss) ");
strSql.Append(" as ");
strSql.Append(" ( ");
strSql.Append(" SELECT ModuleID,ParentID,0 as Level,CONVERT(nvarchar(128),ModuleName),CONVERT(nvarchar(128),ModuleID),ModuleID,ModuleName,OrderByValue,BgCss ");
strSql.Append(" FROM OTB_SYS_ModuleList WHERE ParentID='' ");
strSql.Append(" union all ");
strSql.Append(" SELECT a.ModuleID,a.ParentID,b.Level+1,CONVERT(nvarchar(128),b.AccountNameSort+'/'+CONVERT(nvarchar(128),a.ModuleName)),CONVERT(nvarchar(128),b.ModuleIDSort+'/'+CONVERT(nvarchar(128),a.ModuleID)),b.MainModule,a.ModuleName,a.OrderByValue,a.BgCss ");
strSql.Append(" FROM OTB_SYS_ModuleList as a ");
strSql.Append(" inner join ViewList1 as b on b.ModuleID=a.ParentID ");
strSql.Append(" ) ");
strSql.Append(" ,ViewList2 (ModuleID,ParentID,Level,AccountNameSort, ModuleIDSort,MainModule,ModuleName,OrderByValue,BgCss) ");
strSql.Append(" as ");
strSql.Append(" ( ");
strSql.Append(" select * FROM ViewList1 WHERE ModuleID in (select ModuleID FROM ViewList) ");
strSql.Append(" ) ");
strSql.Append(" SELECT ModuleID,ParentID,ModuleName,BgCss,'#'as FilePath,'folder' AS ImgPath,'ModuleDefault' as grouptag ,AccountNameSort,ModuleIDSort,'Y' as ShowInList,OrderByValue FROM ViewList2 ");
strSql.Append(" union all ");
strSql.Append(" SELECT DISTINCT ");
strSql.Append(" PL.ProgramID AS ModuleID ");
strSql.Append(" ,ModuleID AS ParentID ");
strSql.Append(" ,ProgramName AS ModuleName,PL.BgCss,PL.FilePath,PL.ImgPath,PL.grouptag,'','',ShowInList ,PL.OrderByValue as OrderByValue ");
strSql.Append(" FROM OTB_SYS_Authorize AS SA ");
strSql.Append(" INNER JOIN dbo.OTB_SYS_ProgramList AS PL ON SA.ProgramID = PL.ProgramID ");
strSql.Append(" WHERE ModuleID in(select ModuleID FROM ViewList2 ) ");
strSql.Append(" AND SA.RuleID IN (SELECT RuleID FROM OTB_SYS_MembersToRule WHERE MemberID = @RULEID) ");
strSql.Append(" AND CHARINDEX('View',SA.AllowRight)>0 ");
strSql.Append(" Order By ParentID,imgpath,OrderByValue ");
SqlParameter[] parameters = {
new SqlParameter("@ModuleID", SqlDbType.VarChar,10),
new SqlParameter("@RuleID", SqlDbType.NVarChar,50) };
parameters[0].Value = ModuleID + "%";
parameters[1].Value = UserRoleId;
//return DbHelperSQL.RunProcedure("OSP_Common_DDL_GetProgramListByModuleIDAndRoleID", parameters, "ds");
return DbHelperSQL.Query(strSql.ToString(), parameters);
}
/// <summary>
/// 取得所有使用者清單
/// modify by Dean 2013/08/07
/// </summary>
/// <param name="NULL"></param>
/// <returns></returns>
/// 使用地方: RoleMaintain_Upd.aspx.cs by Gary 2013/12/23
public DataSet GetUSERACCOUNTList(string NULL)
{
StringBuilder strSql = new StringBuilder();
strSql.Append(" select memberid as ACCOUNT, MemberName as NAME ");
strSql.Append(" from [OTB_SYS_Members] ");
strSql.Append(" where Effective ='Y' ");
strSql.Append(" order by MemberName ");
SqlParameter[] parameters = {
new SqlParameter("@NULL", SqlDbType.VarChar,50),
};
parameters[0].Value = NULL;
//return DbHelperSQL.RunProcedure("OSP_Common_GetUSERACCOUNTList", parameters, "ds");
return DbHelperSQL.Query(strSql.ToString(), parameters);
}
/// <summary>
/// <summary>
/// 取得目前系統內所有沒有被館別使用的大分類
/// </summary>
/// <param name="NULL"></param>
/// <returns></returns>
/// 使用地方: TvlShopMaintain_Upd.aspx.cs by Alina 2014/9/24
public DataSet GetChinWDCCOUNTList(string NULL)
{
StringBuilder strSql = new StringBuilder();
strSql.Append(" SELECT Data_Value as LargeID ,Chin_WD as LargeName ");
strSql.Append(" FROM TRDATA.DBO.TRWORD ");
strSql.Append(" WHERE CLS_CD='TVL_AREA' ");
strSql.Append(" AND Data_Value NOT IN ( ");
strSql.Append(" SELECT col ");
strSql.Append("FROM dbo.[OTB_ADV_TvlShop] ");
strSql.Append(" OUTER apply ");
strSql.Append("( select n.r.value('.', 'varchar(50)') as col ");
strSql.Append(" from (select cast('<r>'+replace(Classifications, '|', '</r><r>')+'</r>' as xml )) ");
strSql.Append(" as s(XMLCol) cross apply s.XMLCol.nodes('r') as n(r) ");
strSql.Append(") xm ");
strSql.Append(" WHERE col<>'' AND col IS NOT NULL ");
strSql.Append(") ");
strSql.Append(" order by Chin_WD ");
SqlParameter[] parameters = {
new SqlParameter("@NULL", SqlDbType.VarChar,50),
};
parameters[0].Value = NULL;
return DbHelperSQL.Query(strSql.ToString(), parameters);
}
#endregion
#region 取流水號
/// <summary>
/// 獲取大類別編號的最大數字
/// </summary>
/// <param name="ArgumentClassID">大類別代號</param>
/// <returns>該類別的最大編號</returns>
/// 使用地方: BasePage.cs by Gary 2013/12/23
public int GetArgumentClassMaxNumber(string ArgumentClassID, string ModifyUser)
{
int rowsAffected;
SqlParameter[] parameters = {
new SqlParameter("@ArgumentClassID", SqlDbType.VarChar,10),
new SqlParameter("@ModifyUser", SqlDbType.VarChar,50)
};
parameters[0].Value = ArgumentClassID;
parameters[1].Value = ModifyUser;
return DbHelperSQL.RunProcedure("OSP_Common_GetArgumentClassMaxNumber", parameters, out rowsAffected);
}
/// <summary>
/// 獲取小類別編號的最大數字
/// </summary>
/// <param name="ArgumentClassID">大類別代號</param>
/// <param name="ArgumentID">小類別代號</param>
/// <returns></returns>
/// 使用地方: BasePage.cs by Gary 2013/12/23
public int GetArgumentMaxNumber(string ArgumentClassID, string ArgumentID, string ModifyUser)
{
int rowsAffected;
SqlParameter[] parameters = {
new SqlParameter("@ArgumentClassID", SqlDbType.VarChar,10),
new SqlParameter("@ArgumentID", SqlDbType.NVarChar,20),
new SqlParameter("@ModifyUser", SqlDbType.VarChar,50),
};
parameters[0].Value = ArgumentClassID;
parameters[1].Value = ArgumentID;
parameters[2].Value = ModifyUser;
return DbHelperSQL.RunProcedure("OSP_Common_GetArgumentMaxNumber", parameters, out rowsAffected);
}
#endregion
#region 取程式列表
#region GetProgramListByRuleId
/// <summary>
/// 依據角色ID取得程式列表信息
/// </summary>
/// <param name="strRuleId">角色ID</param>
/// <returns>程式列表信息</returns>
/// 使用地方: AuthantedPrograms.aspx.cs by Gary 2013/12/23
public DataSet GetProgramListByRuleId(string strRuleId)
{
StringBuilder strSql = new StringBuilder();
strSql.Append(" WITH ModuleLayer (ParentID,ModuleID,ModuleName,OrderByValue,Module_PATH,Module_LEVEL) AS ");
strSql.Append(" (");
strSql.Append(" select ParentID,ModuleID,ModuleName,OrderByValue,CAST(ModuleName as varchar(MAX)),0 AS Module_LEVEL");
strSql.Append(" from OTB_SYS_ModuleList");
strSql.Append(" where ParentID = '' AND ModuleID <> '001'");
strSql.Append(" union all ");
strSql.Append(" select M.ParentID,M.ModuleID,M.ModuleName,M.OrderByValue,CAST(ML.Module_PATH+' > '+M.ModuleName as varchar(MAX)),ML.Module_LEVEL+1");
strSql.Append(" from OTB_SYS_ModuleList M INNER JOIN ModuleLayer ML on M.ParentID=ML.ModuleID");
strSql.Append(" ),");
strSql.Append(" kk as (");
strSql.Append(" select MM.ModuleID as ParentID,MM.ModuleID,'' as ModuleName, PL.ProgramID,PL.ProgramName,FilePath,AllowRight,AllowRight as CanAllowRight,ProgramType,PL.OrderByValue,PL.Effective,PL.Memo,Module_PATH,Module_LEVEL from ModuleLayer MM");
strSql.Append(" LEFT join OTB_SYS_ProgramList PL");
strSql.Append(" on MM.ModuleID = PL.ModuleID");
strSql.Append(" where PL.ProgramType <> 'S'");
strSql.Append(" union all");
strSql.Append(" select ParentID, ModuleID, ModuleName, '' as ProgramID, ModuleName as ProgramName, '#' as FilePath, '' as AllowRight, '' as CanAllowRight, 'M' ProgramType, OrderByValue, '' as Effective, '' as Memo, Module_PATH, Module_LEVEL from ModuleLayer");
strSql.Append(" )");
strSql.Append(" select ROW_NUMBER() OVER(order by Module_PATH, Module_LEVEL, ProgramType, OrderByValue) as RowId, @RuleID as RuleID, ParentID,ModuleID,ModuleName,MP.ProgramID,ProgramName,FilePath,AUT.AllowRight,MP.AllowRight as CanAllowRight,ProgramType as PageType,OrderByValue,Effective,ISNULL(MP.Memo,'') as Memo,Module_PATH,Module_LEVEL from kk as MP");
strSql.Append(" left join OTB_SYS_Authorize AUT ON AUT.ProgramID = MP.ProgramID AND AUT.RuleID = @RuleID where ParentID <> ''");
#region is Marked
//strSql.Append(" SELECT ");
//strSql.Append(" (ROW_NUMBER() OVER(ORDER BY OrderByValue)) as RowId ");
//strSql.Append(" ,NULL AS ProgramID ");
//strSql.Append(" ,ModuleName AS ProgramName ");
//strSql.Append(" ,ModuleID ");
//strSql.Append(" ,ModuleName ");
//strSql.Append(" ,NULL AS FilePath ");
//strSql.Append(" ,OrderByValue ");
//strSql.Append(" ,NULL AS ProgramType ");
//strSql.Append(" ,NULL AS Effective ");
//strSql.Append(" ,Memo ");
//strSql.Append(" ,NULL AS AllowRight ");
//strSql.Append(" ,NULL AS CanAllowRight ");
//strSql.Append(" ,@RuleID AS RuleID ");
//strSql.Append(" ,'M' AS PageType ");
//strSql.Append(" FROM [OTB_SYS_ModuleList] ");
//strSql.Append(" UNION ALL ");
//strSql.Append(" SELECT ");
//strSql.Append(" (ROW_NUMBER() OVER(ORDER BY SML.ModuleID,SPL.OrderByValue)) as RowId ");
//strSql.Append(" ,SPL.ProgramID ");
//strSql.Append(" ,SPL.ProgramName ");
//strSql.Append(" ,SML.ModuleID ");
//strSql.Append(" ,SML.ModuleName ");
//strSql.Append(" ,SPL.FilePath ");
//strSql.Append(" ,SPL.OrderByValue ");
//strSql.Append(" ,SPL.ProgramType ");
//strSql.Append(" ,SPL.Effective ");
//strSql.Append(" ,SPL.Memo ");
//strSql.Append(" ,AUT.AllowRight ");
//strSql.Append(" ,SPL.AllowRight AS CanAllowRight ");
//strSql.Append(" ,@RuleID AS RuleID ");
//strSql.Append(" ,'P' AS PageType ");
//strSql.Append(" FROM OTB_SYS_ProgramList SPL ");
//strSql.Append(" INNER JOIN OTB_SYS_ModuleList SML ON SPL.ModuleID = SML.ModuleID ");
//strSql.Append(" LEFT JOIN OTB_SYS_Authorize AUT ON AUT.ProgramID = SPL.ProgramID AND AUT.RuleID = @RuleID ");
//strSql.Append(" WHERE SPL.Effective = 'Y' AND SPL.ProgramType <> 'S' ");
//strSql.Append(" ORDER BY ModuleID,Pagetype,ProgramID ");
#endregion
SqlParameter[] parameters = {
new SqlParameter("@RuleID", SqlDbType.VarChar,20)
};
parameters[0].Value = strRuleId;
return DbHelperSQL.Query(strSql.ToString(), parameters);
//return DbHelperSQL.RunProcedure("OSP_Common_GetProgramListByRuleId", parameters, "ds");
}
#endregion
#endregion
#region 取Text值
/// 詢問過Dean 主要工作取日期用 by Gary 2013/12/23
public String GetDate()
{
return DbHelperSQL.GetSingle("OSP_Common_DDL_GetDATA").ToString();
}
#endregion
#region 取參數值列表
#region GetArgumentListByArgumentClassID
/// <summary>
/// 依據參數類別ID取得參數值
/// </summary>
/// <param name="strArgumentClassID">參數類別ID</param>
/// <returns>參數值列表信息</returns>
/// 使用地方:HRMMaintain_Upd.aspx.cs 、 MemberMaintain_Upd.aspx.cs by Gary 2013/12/23
public DataSet GetArgumentListByArgumentClassID(string strArgumentClassID)
{
StringBuilder strSql = new StringBuilder();
strSql.Append(" SELECT ");
strSql.Append(" ArgumentValue,ArgumentID,OrderByValue ");
strSql.Append(" FROM [OTB_SYS_Arguments] ");
strSql.Append(" WHERE (ArgumentClassID = @ArgumentClassID OR @ArgumentClassID IS NULL OR @ArgumentClassID='') order by OrderByValue ");
SqlParameter[] parameters = {
new SqlParameter("@ArgumentClassID", SqlDbType.VarChar,10) };
parameters[0].Value = strArgumentClassID;
return DbHelperSQL.Query(strSql.ToString(), parameters);
//return DbHelperSQL.RunProcedure("OSP_Common_GetArgumentListByArgumentClassID", parameters, "ArgumentList");
}
#endregion
#endregion
#region 內部系統
/// <summary>
/// 獲取系統參數
/// </summary>
/// <param name="strItem">參數名稱</param>
/// <param name="SettingValueOrMemo">參數取向值</param>
/// <returns></returns>
public string GetSystemSetting(string strItem, string SettingValueOrMemo)
{
StringBuilder sbSql = new StringBuilder();
if (SettingValueOrMemo == "SettingValue")
{
sbSql.AppendLine(" SELECT ISNULL(SettingValue,'') AS SettingValue FROM dbo.OTB_SYS_SystemSetting WHERE SettingItem=@SettingItem ");
}
else
{
sbSql.AppendLine(" SELECT ISNULL(Memo,'') AS Memo FROM dbo.OTB_SYS_SystemSetting WHERE SettingItem=@SettingItem ");
}
SqlParameter[] parameters = {
new SqlParameter("@SettingItem", SqlDbType.NVarChar,50)};
parameters[0].Value = strItem;
object obj = DbHelperSQL.GetSingle(sbSql.ToString(), parameters);
return obj == null ? "" : obj.ToString();
}
#endregion
/// <summary>
///
/// </summary>
/// <param name="Type"></param>
/// <param name="Flag"></param>
/// <param name="ModifyUser"></param>
/// <returns></returns>
/// 使用地方:BasePage.cs 、 QuotationBorneMaintain_Upd.aspx.cs 、 QuotationWorkMaintain_Upd.aspx.cs 、
/// ArgumentClassMaintain_Upd.aspx.cs 、 ModuleMaintain_Upd.aspx.cs 、 RoleMaintain_Upd.aspx.cs by Gary 2013/12/23
public int GetMaxNumberByType(string Type, string Flag, string ModifyUser)
{
StringBuilder sbBuilder = new StringBuilder();
//sbBuilder.AppendLine("DECLARE @Type NVARCHAR(3)");
//sbBuilder.AppendLine("DECLARE @Flag NVARCHAR(1)");
//sbBuilder.AppendLine("DECLARE @ModifyUser NVARCHAR(50)");
//sbBuilder.AppendLine("SET @Type = ''");
//sbBuilder.AppendLine("SET @Flag = 'D'");
//sbBuilder.AppendLine("SET @ModifyUser = ''");
sbBuilder.AppendLine("DECLARE @MaxNumberCatData INT");
sbBuilder.AppendLine("SET @MaxNumberCatData = 0");
sbBuilder.AppendLine("IF @Flag = 'Y' OR @Flag = 'Year'");
sbBuilder.AppendLine(" BEGIN");
sbBuilder.AppendLine(" SELECT @MaxNumberCatData = ISNULL(CountMax,0) ");
sbBuilder.AppendLine(" FROM OTB_SYS_MaxNumber");
sbBuilder.AppendLine(" WHERE [Type] = @Type AND [CountYear] = YEAR(GETDATE()) AND ([CountMonth] IS NULL OR [CountMonth]='') AND ([CountDay] IS NULL OR [CountDay]='')");
sbBuilder.AppendLine("PRINT @Type");
sbBuilder.AppendLine("PRINT @Flag");
sbBuilder.AppendLine("PRINT @MaxNumberCatData");
sbBuilder.AppendLine(" END");
sbBuilder.AppendLine("ELSE IF @Flag = 'M' OR @Flag = 'Month'");
sbBuilder.AppendLine(" BEGIN");
sbBuilder.AppendLine(" SELECT @MaxNumberCatData = ISNULL(CountMax,0) ");
sbBuilder.AppendLine(" FROM OTB_SYS_MaxNumber");
sbBuilder.AppendLine(" WHERE [Type] = @Type AND [CountYear] = YEAR(GETDATE()) AND [CountMonth] = MONTH(GETDATE()) AND ([CountDay] IS NULL OR [CountDay]='')");
sbBuilder.AppendLine(" END");
sbBuilder.AppendLine("ELSE IF @Flag = 'D' OR @Flag = 'Day'");
sbBuilder.AppendLine(" BEGIN");
sbBuilder.AppendLine(" SELECT @MaxNumberCatData = ISNULL(CountMax,0) ");
sbBuilder.AppendLine(" FROM OTB_SYS_MaxNumber");
sbBuilder.AppendLine(" WHERE [Type] = @Type AND [CountYear] = YEAR(GETDATE()) AND [CountMonth] = MONTH(GETDATE()) AND [CountDay] = DAY(GETDATE())");
sbBuilder.AppendLine(" END");
sbBuilder.AppendLine("ELSE IF @Flag = 'O' OR @Flag = 'Other'");
sbBuilder.AppendLine(" BEGIN");
sbBuilder.AppendLine(" SELECT @MaxNumberCatData = ISNULL(CountMax,0) ");
sbBuilder.AppendLine(" FROM OTB_SYS_MaxNumber");
sbBuilder.AppendLine(" WHERE [Type] = @Type AND ([CountYear] IS NULL OR [CountYear]='') AND ([CountMonth] IS NULL OR [CountMonth]='') AND ([CountDay] IS NULL OR [CountDay]='')");
sbBuilder.AppendLine(" END");
sbBuilder.AppendLine("IF @MaxNumberCatData > 0");
sbBuilder.AppendLine(" BEGIN");
sbBuilder.AppendLine(" IF @Flag = 'Y' OR @Flag = 'Year'");
sbBuilder.AppendLine(" BEGIN");
sbBuilder.AppendLine(" UPDATE OTB_SYS_MaxNumber SET ");
sbBuilder.AppendLine(" CountMax = ISNULL(CountMax,0) + 1,@MaxNumberCatData =@MaxNumberCatData+1,");
sbBuilder.AppendLine(" --Add By Vivian, 修改更新資料時更新最新修改人和最新修改時間的問題, 2013/05/27, Start.");
sbBuilder.AppendLine(" ModifyUser = @ModifyUser,");
sbBuilder.AppendLine(" ModifyDate = GETDATE()");
sbBuilder.AppendLine(" --Add By Vivian, 修改更新資料時更新最新修改人和最新修改時間的問題, 2013/05/27, End.");
sbBuilder.AppendLine(" WHERE [Type] = @Type AND [CountYear] = YEAR(GETDATE()) AND ([CountMonth] IS NULL OR [CountMonth]='') AND ([CountDay] IS NULL OR [CountDay]='')");
sbBuilder.AppendLine(" END");
sbBuilder.AppendLine(" ELSE IF @Flag = 'M' OR @Flag = 'Month'");
sbBuilder.AppendLine(" BEGIN");
sbBuilder.AppendLine(" UPDATE OTB_SYS_MaxNumber SET ");
sbBuilder.AppendLine(" CountMax = ISNULL(CountMax,0) + 1,@MaxNumberCatData =@MaxNumberCatData+1,");
sbBuilder.AppendLine(" --Add By Vivian, 修改更新資料時更新最新修改人和最新修改時間的問題, 2013/05/27, Start.");
sbBuilder.AppendLine(" ModifyUser = @ModifyUser,");
sbBuilder.AppendLine(" ModifyDate = GETDATE()");
sbBuilder.AppendLine(" --Add By Vivian, 修改更新資料時更新最新修改人和最新修改時間的問題, 2013/05/27, End.");
sbBuilder.AppendLine(" WHERE [Type] = @Type AND [CountYear] = YEAR(GETDATE()) AND [CountMonth] = MONTH(GETDATE()) AND ([CountDay] IS NULL OR [CountDay]='')");
sbBuilder.AppendLine(" END");
sbBuilder.AppendLine(" ELSE IF @Flag = 'D' OR @Flag = 'Day'");
sbBuilder.AppendLine(" BEGIN");
sbBuilder.AppendLine(" UPDATE OTB_SYS_MaxNumber SET ");
sbBuilder.AppendLine(" CountMax = ISNULL(CountMax,0) + 1,@MaxNumberCatData =@MaxNumberCatData+1,");
sbBuilder.AppendLine(" --Add By Vivian, 修改更新資料時更新最新修改人和最新修改時間的問題, 2013/05/27, Start.");
sbBuilder.AppendLine(" ModifyUser = @ModifyUser,");
sbBuilder.AppendLine(" ModifyDate = GETDATE()");
sbBuilder.AppendLine(" --Add By Vivian, 修改更新資料時更新最新修改人和最新修改時間的問題, 2013/05/27, End.");
sbBuilder.AppendLine(" WHERE [Type] = @Type AND [CountYear] = YEAR(GETDATE()) AND [CountMonth] = MONTH(GETDATE()) AND [CountDay] = DAY(GETDATE())");
sbBuilder.AppendLine(" END");
sbBuilder.AppendLine(" ELSE IF @Flag = 'O' OR @Flag = 'Other'");
sbBuilder.AppendLine(" BEGIN");
sbBuilder.AppendLine(" UPDATE OTB_SYS_MaxNumber SET ");
sbBuilder.AppendLine(" CountMax = ISNULL(CountMax,0) + 1,@MaxNumberCatData =@MaxNumberCatData+1,");
sbBuilder.AppendLine(" --Add By Vivian, 修改更新資料時更新最新修改人和最新修改時間的問題, 2013/05/27, Start.");
sbBuilder.AppendLine(" ModifyUser = @ModifyUser,");
sbBuilder.AppendLine(" ModifyDate = GETDATE()");
sbBuilder.AppendLine(" --Add By Vivian, 修改更新資料時更新最新修改人和最新修改時間的問題, 2013/05/27, End.");
sbBuilder.AppendLine(" WHERE [Type] = @Type AND ([CountYear] IS NULL OR [CountYear]='') AND ([CountMonth] IS NULL OR [CountMonth]='') AND ([CountDay] IS NULL OR [CountDay]='')");
sbBuilder.AppendLine(" END");
sbBuilder.AppendLine(" END");
sbBuilder.AppendLine("ELSE");
sbBuilder.AppendLine(" BEGIN");
sbBuilder.AppendLine(" SET @MaxNumberCatData = 1");
sbBuilder.AppendLine(" IF @Flag = 'Y' OR @Flag = 'Year'");
sbBuilder.AppendLine(" BEGIN");
sbBuilder.AppendLine(" INSERT INTO OTB_SYS_MaxNumber([Type],CountYear,CountMonth,CountDay,CountMax,CreateUser,CreateDate,ModifyUser,ModifyDate)VALUES(@Type,YEAR(GETDATE()),'','',1,@ModifyUser, GETDATE(), @ModifyUser, GETDATE())");
sbBuilder.AppendLine(" END");
sbBuilder.AppendLine(" ELSE IF @Flag = 'M' OR @Flag = 'Month'");
sbBuilder.AppendLine(" BEGIN");
sbBuilder.AppendLine(" INSERT INTO OTB_SYS_MaxNumber([Type],CountYear,CountMonth,CountDay,CountMax,CreateUser,CreateDate,ModifyUser,ModifyDate)VALUES(@Type,YEAR(GETDATE()),MONTH(GETDATE()),'',1,@ModifyUser, GETDATE(), @ModifyUser, GETDATE())");
sbBuilder.AppendLine(" END");
sbBuilder.AppendLine(" ELSE IF @Flag = 'D' OR @Flag = 'Day'");
sbBuilder.AppendLine(" BEGIN");
sbBuilder.AppendLine(" INSERT INTO OTB_SYS_MaxNumber([Type],CountYear,CountMonth,CountDay,CountMax,CreateUser,CreateDate,ModifyUser,ModifyDate)VALUES(@Type,YEAR(GETDATE()),MONTH(GETDATE()),DAY(GETDATE()),1,@ModifyUser, GETDATE(), @ModifyUser, GETDATE())");
sbBuilder.AppendLine(" END");
sbBuilder.AppendLine(" ELSE IF @Flag = 'O' OR @Flag = 'Other'");
sbBuilder.AppendLine(" BEGIN");
sbBuilder.AppendLine(" INSERT INTO OTB_SYS_MaxNumber([Type],CountYear,CountMonth,CountDay,CountMax,CreateUser,CreateDate,ModifyUser,ModifyDate)VALUES(@Type,'','','',1,@ModifyUser, GETDATE(), @ModifyUser, GETDATE())");
sbBuilder.AppendLine(" END");
sbBuilder.AppendLine(" END");
sbBuilder.AppendLine(" SELECT @MaxNumberCatData");
SqlParameter[] parameters = {
new SqlParameter("@Type", SqlDbType.VarChar,50)
,new SqlParameter("@Flag", SqlDbType.Char,1)
,new SqlParameter("@ModifyUser", SqlDbType.VarChar,50)
};
parameters[0].Value = Type;
parameters[1].Value = Flag;
parameters[2].Value = ModifyUser;
//return DbHelperSQL.RunProcedure("proc_Common_GetMaxNumberByType", parameters, out rowsAffected);
object obj = DbHelperSQL.GetSingle(sbBuilder.ToString(), parameters);
return Convert.ToInt32(obj);
}
/// <summary>
/// 依據文件來源獲取文件列表
/// </summary>
/// <param name="SourceRelationID"></param>
/// <returns></returns>
/// 使用地方:AsyncFileUpload.ascx.cs 、 AsyncFileUploadClass.aspx.cs 、 AsyncFileUploadPrtOrPub.aspx.cs 、
/// AsyncFileUpView.aspx.cs 、 UploadFileView.aspx.cs 、 UploadHandler.aspx.cs by Gary 2013/12/23
public DataSet GetFileListBySourceRelationID(string SourceRelationID)
{
StringBuilder strSql = new StringBuilder();
strSql.Append(" SELECT ");
strSql.Append(" GUID,SourceRelationID,FileName,FilePath,FileSize ");
strSql.Append(" FROM dbo.OTB_SYS_Document ");
strSql.Append(" WHERE SourceRelationID= @SourceRelationID OR GUID= @SourceRelationID ");
SqlParameter[] parameters = {
new SqlParameter("@SourceRelationID", SqlDbType.VarChar,36)};
parameters[0].Value = SourceRelationID;
return DbHelperSQL.Query(strSql.ToString(), parameters);
}
/// <summary>
/// 獲得資料列表
/// </summary>
/// 使用地方:ucExportEquList.ascx.cs by Gary 2013/12/23
public DataSet GetList(int StartRecordIndex, int EndRecordIndex, string CustomerClass, string CustomerID, string CustomerName, string ContectName, string TEL, string TaxNumber, string Status, string SortExpression)
{
SqlParameter[] parameters = {
new SqlParameter("@StartRecordIndex", SqlDbType.Int)
,new SqlParameter("@EndRecordIndex", SqlDbType.Int)
,new SqlParameter("@CustomerClass", SqlDbType.NVarChar,20)
,new SqlParameter("@CustomerID", SqlDbType.VarChar,36)
,new SqlParameter("@CustomerName", SqlDbType.NVarChar,100)
,new SqlParameter("@ContectName", SqlDbType.NVarChar,100)
,new SqlParameter("@TEL", SqlDbType.NVarChar,50)
,new SqlParameter("@TaxNumber", SqlDbType.VarChar,20)
,new SqlParameter("@Status", SqlDbType.Char,1)
,new SqlParameter("@SortExpression", SqlDbType.NVarChar,500)
};
parameters[0].Value = StartRecordIndex;
parameters[1].Value = EndRecordIndex;
parameters[2].Value = CustomerClass;
parameters[3].Value = CustomerID;
parameters[4].Value = "%" + CustomerName + "%";
parameters[5].Value = "%" + ContectName + "%";
parameters[6].Value = "%" + TEL + "%";
parameters[7].Value = TaxNumber;
parameters[8].Value = Status;
parameters[9].Value = SortExpression;
return DbHelperSQL.RunProcedure("OSP_Common_GetCustomerListByCustomerID", parameters, "ds");
}
/// <summary>
/// 更新排序欄位
/// </summary>
/// <param name="OldOrderByValue">舊值</param>
/// <param name="NewOrderByValue">新值</param>
/// <param name="FeildName">欄位名稱</param>
/// <param name="MDFUserFeild">修改的欄位名稱</param>
/// <param name="ModifyUser">修改的欄位名稱的值</param>
/// <param name="MDFDateFeild">修改的欄位名稱</param>
/// <param name="TableName">表名稱</param>
/// <param name="Where1">條件1</param>
/// <param name="Where2">條件2</param>
/// <returns></returns>
public bool UpdateOrderByValue(string OldOrderByValue, string NewOrderByValue, string FeildName, string MDFUserFeild, string ModifyUser, string MDFDateFeild, string TableName, string Where1, string Where2)
{
List<CommandInfo> lstCommandInfo = new List<CommandInfo>(); //定義事物執行的所有SQL
StringBuilder strSql = new StringBuilder();
strSql.Append(" DECLARE @strSQL NVARCHAR(1000)");
strSql.Append(" BEGIN");
strSql.Append(" PRINT @NewOrderByValue");
strSql.Append(" PRINT @OldOrderByValue");
strSql.Append(" set @strSQL=N'UPDATE '+ @TableName+'");
strSql.Append(" SET '+@FeildName+' = 88888 ");
strSql.Append(" WHERE '+@FeildName+' = '+@OldOrderByValue ");
strSql.Append(" IF @Where <>''");
strSql.Append(" SET @strSQL =@strSQL + ' AND ' + @Where");
strSql.Append(" print @strSQL");
strSql.Append(" exec sp_executesql @strSQL");
strSql.Append(" ");
strSql.Append(" IF CONVERT(INT, @NewOrderByValue) > CONVERT(INT,@OldOrderByValue)");
strSql.Append(" BEGIN");//由小變大,OLD<-1<=NEW
strSql.Append(" SET @strSQL=N'UPDATE '+@TableName+'");
strSql.Append(" SET '+@FeildName+' = ISNULL('+@FeildName+',0) - 1 ");
strSql.Append(" WHERE '+@FeildName+' >= '+@OldOrderByValue + ' AND '+@FeildName+'<='+@NewOrderByValue+' '");
strSql.Append(" IF @Where <>''");
strSql.Append(" SET @strSQL =@strSQL + ' AND ' + @Where");
strSql.Append(" print @strSQL");
strSql.Append(" exec sp_executesql @strSQL");
strSql.Append(" END");
strSql.Append(" ELSE");
strSql.Append(" BEGIN");//由大變小,@NewOrderByValue<=+1<@OldOrderByValue
strSql.Append(" SET @strSQL=N'UPDATE '+@TableName+'");
strSql.Append(" SET '+@FeildName+' = ISNULL('+@FeildName+',0) + 1 ");
strSql.Append(" WHERE '+@FeildName+' <= '+@OldOrderByValue + ' AND '+@FeildName+'>='+@NewOrderByValue+' '");
strSql.Append(" IF @Where <>''");
strSql.Append(" SET @strSQL =@strSQL + ' AND ' + @Where");
strSql.Append(" print @strSQL");
strSql.Append(" exec sp_executesql @strSQL");
strSql.Append(" END");
strSql.Append(" set @strSQL=N'UPDATE '+ @TableName+'");
strSql.Append(" SET '+@FeildName+' = '+@NewOrderByValue+");
strSql.Append(" ' WHERE '+@FeildName+' = 88888' ");
strSql.Append(" IF @Where <>''");
strSql.Append(" SET @strSQL =@strSQL + ' AND ' + @Where");
strSql.Append(" print @strSQL");
strSql.Append(" exec sp_executesql @strSQL");
strSql.Append(" END");
SqlParameter[] parametersChangeOrder = {
new SqlParameter("@OldOrderByValue", SqlDbType.NVarChar,10)
,new SqlParameter("@NewOrderByValue", SqlDbType.NVarChar,10)
,new SqlParameter("@FeildName", SqlDbType.NVarChar,50)
,new SqlParameter("@TableName", SqlDbType.NVarChar,50)
,new SqlParameter("@Where", SqlDbType.NVarChar,500)
};
parametersChangeOrder[0].Value = OldOrderByValue;
parametersChangeOrder[1].Value = NewOrderByValue;
parametersChangeOrder[2].Value = FeildName;
parametersChangeOrder[3].Value = TableName;
parametersChangeOrder[4].Value = Where1;
CommandInfo o_CommandInfo = new CommandInfo(); //定義每一個SQL,代表修改
o_CommandInfo.CommandText = strSql.ToString();
o_CommandInfo.Parameters = parametersChangeOrder;
lstCommandInfo.Add(o_CommandInfo); //添加當前的SQL
strSql.Clear();
strSql.Append(" DECLARE @strSQL NVARCHAR(1000)");
strSql.Append(" BEGIN");
strSql.Append(" PRINT @NewOrderByValue");
strSql.Append(" SET @strSQL=N'UPDATE '+@TableName+' ");
strSql.Append(" SET ' +@MDFUserFeild+' ='''+@ModifyUser+''','+@MDFDateFeild+' =GETDATE() WHERE '+@Where");
strSql.Append(" PRINT @strSQL ");
strSql.Append(" exec sp_executesql @strSQL");
strSql.Append(" END");
SqlParameter[] parameters = {
new SqlParameter("@NewOrderByValue", SqlDbType.NVarChar,10)
,new SqlParameter("@FeildName", SqlDbType.NVarChar,50)
,new SqlParameter("@MDFUserFeild", SqlDbType.NVarChar,50)
,new SqlParameter("@ModifyUser", SqlDbType.VarChar,50)
,new SqlParameter("@MDFDateFeild", SqlDbType.NVarChar,50)
,new SqlParameter("@TableName", SqlDbType.NVarChar,50)
,new SqlParameter("@Where", SqlDbType.NVarChar,500)
};
parameters[0].Value = NewOrderByValue;
parameters[1].Value = FeildName;
parameters[2].Value = MDFUserFeild;
parameters[3].Value = ModifyUser;
parameters[4].Value = MDFDateFeild;
parameters[5].Value = TableName;
parameters[6].Value = Where2;
o_CommandInfo = new CommandInfo(); //定義每一個SQL,代表修改
o_CommandInfo.CommandText = strSql.ToString();
o_CommandInfo.Parameters = parameters;
lstCommandInfo.Add(o_CommandInfo); //添加當前的SQL
if (DbHelperSQL.ExecuteSqlTran(lstCommandInfo) > 0)
{
return true;
}
else
{
return false;
}
//List<CommandInfo> lstCommandInfo = new List<CommandInfo>(); //定義事物執行的所有SQL
//SqlParameter[] parametersChangeOrder = {
// new SqlParameter("@OldOrderByValue", SqlDbType.NVarChar,10)
// ,new SqlParameter("@NewOrderByValue", SqlDbType.NVarChar,10)
// ,new SqlParameter("@FeildName", SqlDbType.NVarChar,50)
// ,new SqlParameter("@TableName", SqlDbType.NVarChar,50)
// ,new SqlParameter("@Where", SqlDbType.NVarChar,500)
// };
//parametersChangeOrder[0].Value = OldOrderByValue;
//parametersChangeOrder[1].Value = NewOrderByValue;
//parametersChangeOrder[2].Value = FeildName;
//parametersChangeOrder[3].Value = TableName;
//parametersChangeOrder[4].Value = Where1;
//CommandInfo o_CommandInfo = new CommandInfo(); //定義每一個SQL,代表修改
//o_CommandInfo.CommandText = "OSP_Common_UpdateOrderByValue";
//o_CommandInfo.Parameters = parametersChangeOrder;
//lstCommandInfo.Add(o_CommandInfo); //添加當前的SQL
//SqlParameter[] parameters = {
// new SqlParameter("@NewOrderByValue", SqlDbType.NVarChar,10)
// ,new SqlParameter("@FeildName", SqlDbType.NVarChar,50)
// ,new SqlParameter("@MDFUserFeild", SqlDbType.NVarChar,50)
// ,new SqlParameter("@ModifyUser", SqlDbType.VarChar,50)
// ,new SqlParameter("@MDFDateFeild", SqlDbType.NVarChar,50)
// ,new SqlParameter("@TableName", SqlDbType.NVarChar,50)
// ,new SqlParameter("@Where", SqlDbType.NVarChar,500)
// };
//parameters[0].Value = NewOrderByValue;
//parameters[1].Value = FeildName;
//parameters[2].Value = MDFUserFeild;
//parameters[3].Value = ModifyUser;
//parameters[4].Value = MDFDateFeild;
//parameters[5].Value = TableName;
//parameters[6].Value = Where2;
//o_CommandInfo = new CommandInfo(); //定義每一個SQL,代表修改
//o_CommandInfo.CommandText = "OSP_Common_UpdateCurrentRowOrderByValue";
//o_CommandInfo.Parameters = parameters;
//lstCommandInfo.Add(o_CommandInfo); //添加當前的SQL
//if (DbHelperSQL.ExecuteSqlTran(lstCommandInfo) > 0)
//{
// return true;
//}
//else
//{
// return false;
//}
}
/// <summary>
/// 獲得資料列表
/// </summary>
public DataSet GetTrWord(string strWhere)
{
StringBuilder strSql = new StringBuilder();
strSql.Append(" SELECT * FROM TRWORD ");
if (strWhere.Trim() != "")
{
strSql.Append(" where " + strWhere);
}
return DbHelperSQL.Query(strSql.ToString());
}
#region 共用型更改MemberID
/// <summary>
/// 共用型更改MemberID
/// Create by Gary 2014/08/13
/// </summary>
/// <param name="strTableName">資料表名稱</param>
/// <param name="strMemberField">MemberField欄位名稱</param>
/// <param name="strMemberID">新的MemberID</param>
/// <param name="strModifyField">更改人欄位</param>
/// <param name="strUserID">更改人ID</param>
/// <param name="strModifyDateField">更改時間欄位</param>
/// <param name="strWhere">Where條件,請務必給正確的條件,以免更新錯誤</param>
/// <returns>是否更新成功</returns>
/// 使用地方: ChangeMember_Pop.aspx.cs by Gary 2014/08/13
public bool UpdateMemberID(string strTableName, string strMemberField, string strMemberID, string strModifyField, string strUserID, string strModifyDateField, string strWhere)
{
StringBuilder strSql = new StringBuilder();
strSql.Append(" update " + strTableName);
strSql.Append(" set " + strMemberField + " =@MemberID, ");
strSql.Append(strModifyField + " =@UserID, ");
strSql.Append(strModifyDateField + " =GetDate()");
if (strWhere.Trim() != "")
{
strSql.Append(" where " + strWhere);
}
else
{
strSql.Append(" where 1=0");//避免參數沒送正確時,導致全部資料都被引響
}
SqlParameter[] parameters = {
new SqlParameter("@MemberID", SqlDbType.VarChar,18),
new SqlParameter("@UserID", SqlDbType.VarChar,18)
};
parameters[0].Value = strMemberID;
parameters[1].Value = strUserID;
int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
if (rows > 0)
{
return true;
}
else
{
return false;
}
}
#endregion
#region 可刪除的資料
/// <summary>
/// 通過專案編號獲取該專案中所有合約的附件資料列表
/// </summary>
/// 使用地方:UpLoadCTListFileView.ascx.cs by Gary 2013/12/23
public DataSet GetContractListFileListByProjectID(string ProjectID)
{
SqlParameter[] parameters = {
new SqlParameter("@ProjectID", SqlDbType.VarChar,36)};
parameters[0].Value = ProjectID;
return DbHelperSQL.RunProcedure("OSP_TB_Common_GetContractListFileListByProjectID", parameters, "FileList");
}
#endregion
}
}