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.
478 lines
24 KiB
478 lines
24 KiB
using System;
|
|
using System.Data;
|
|
using System.Text;
|
|
using System.Data.SqlClient;
|
|
using OT.IDAL;
|
|
using DBUtility;
|
|
using System.Collections.Generic;//Please add references
|
|
namespace OT.SQLServerDAL
|
|
{
|
|
/// <summary>
|
|
/// 資料訪問類:OTB_SYS_Rules
|
|
/// </summary>
|
|
public partial class OTB_SYS_Rules : IOTB_SYS_Rules
|
|
{
|
|
public OTB_SYS_Rules()
|
|
{ }
|
|
#region Method
|
|
/// <summary>
|
|
/// 是否存在該記錄
|
|
/// </summary>
|
|
public bool Exists(string RuleID)
|
|
{
|
|
StringBuilder strSql = new StringBuilder();
|
|
strSql.Append("select count(1) from OTB_SYS_Rules");
|
|
strSql.Append(" where RuleID=@RuleID ");
|
|
SqlParameter[] parameters = {
|
|
|
|
new SqlParameter("@RuleID", SqlDbType.VarChar,20) };
|
|
|
|
parameters[0].Value = RuleID;
|
|
return DbHelperSQL.Exists(strSql.ToString(), parameters);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 增加一條資料
|
|
/// </summary>
|
|
public bool Add(OT.Model.OTB_SYS_Rules model)
|
|
{
|
|
StringBuilder strSql = new StringBuilder();
|
|
strSql.Append(" DECLARE @CheckRuleID nvarchar(200) ");
|
|
strSql.Append(" SELECT @CheckRuleID = [RuleID] ");
|
|
strSql.Append(" FROM [OTB_SYS_Rules] WHERE [RuleID] = @RuleID ");
|
|
strSql.Append(" IF @RuleID = @CheckRuleID ");
|
|
strSql.Append(" UPDATE [OTB_SYS_Rules] SET [DelStatus] = 'N', [RuleName] = @RuleName, [Memo] = @Memo, [CreateUser] = @CreateUser, [CreateDate] = GETDATE(), [ModifyUser] = @CreateUser, [ModifyDate] = GETDATE() ");
|
|
strSql.Append(" WHERE [RuleID] = @RuleID ");
|
|
strSql.Append(" ELSE ");
|
|
strSql.Append(" INSERT INTO [OTB_SYS_Rules]( ");
|
|
strSql.Append(" [RuleID],[RuleName],[Memo],[CreateUser],[CreateDate],[ModifyUser],[ModifyDate],[DelStatus] ");
|
|
strSql.Append(" )VALUES( ");
|
|
strSql.Append(" @RuleID,@RuleName,@Memo,@CreateUser,GETDATE(),@CreateUser,GETDATE(),@DelStatus ");
|
|
strSql.Append(" ) ");
|
|
SqlParameter[] parameters = {
|
|
|
|
new SqlParameter("@RuleID", SqlDbType.VarChar,20),
|
|
new SqlParameter("@RuleName", SqlDbType.NVarChar,200),
|
|
new SqlParameter("@DelStatus", SqlDbType.Char,1),
|
|
new SqlParameter("@Memo", SqlDbType.Text),
|
|
new SqlParameter("@CreateUser", SqlDbType.VarChar,50),
|
|
new SqlParameter("@CreateDate", SqlDbType.DateTime),
|
|
new SqlParameter("@ModifyUser", SqlDbType.VarChar,50),
|
|
new SqlParameter("@ModifyDate", SqlDbType.DateTime)};
|
|
|
|
parameters[0].Value = model.RuleID;
|
|
parameters[1].Value = model.RuleName;
|
|
parameters[2].Value = model.DelStatus;
|
|
parameters[3].Value = model.Memo;
|
|
parameters[4].Value = model.CreateUser;
|
|
parameters[5].Value = model.CreateDate;
|
|
parameters[6].Value = model.ModifyUser;
|
|
parameters[7].Value = model.ModifyDate;
|
|
|
|
List<CommandInfo> sqllist = new List<CommandInfo>();
|
|
CommandInfo cmd = new CommandInfo(strSql.ToString(), parameters);
|
|
sqllist.Add(cmd);
|
|
if (model.OTB_SYS_MembersToRule != null)
|
|
{
|
|
foreach (OT.Model.OTB_SYS_MembersToRule models in model.OTB_SYS_MembersToRule)
|
|
{
|
|
StringBuilder strSql2 = new StringBuilder();
|
|
strSql2.Append(" INSERT INTO [OTB_SYS_MembersToRule]( ");
|
|
strSql2.Append(" [MemberID],[RuleID],[CreateUser],[CreateDate] ");
|
|
strSql2.Append(" )VALUES( ");
|
|
strSql2.Append(" @MemberID,@RuleID,@CreateUser,GETDATE() ) ");
|
|
SqlParameter[] parameters2 = {
|
|
|
|
new SqlParameter("@MemberID", SqlDbType.VarChar,50),
|
|
new SqlParameter("@RuleID", SqlDbType.VarChar,20),
|
|
new SqlParameter("@Memo", SqlDbType.Text),
|
|
new SqlParameter("@CreateUser", SqlDbType.VarChar,50),
|
|
new SqlParameter("@CreateDate", SqlDbType.DateTime),
|
|
new SqlParameter("@ModifyUser", SqlDbType.VarChar,50),
|
|
new SqlParameter("@ModifyDate", SqlDbType.DateTime)};
|
|
|
|
parameters2[0].Value = models.MemberID;
|
|
parameters2[1].Value = models.RuleID;
|
|
parameters2[2].Value = models.Memo;
|
|
parameters2[3].Value = model.CreateUser;
|
|
parameters2[4].Value = model.CreateDate;
|
|
parameters2[5].Value = model.ModifyUser;
|
|
parameters2[6].Value = model.ModifyDate;
|
|
|
|
|
|
cmd = new CommandInfo(strSql2.ToString(), parameters2);
|
|
sqllist.Add(cmd);
|
|
}
|
|
}
|
|
int rowsAffected = DbHelperSQL.ExecuteSqlTran(sqllist);
|
|
if (rowsAffected > 0)
|
|
{
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 更新一條資料
|
|
/// </summary>
|
|
public bool Update(OT.Model.OTB_SYS_Rules model)
|
|
{
|
|
List<CommandInfo> sqllist = new List<CommandInfo>();
|
|
CommandInfo cmd;
|
|
string strCreateUser = model.CreateUser;
|
|
StringBuilder strSql = new StringBuilder();
|
|
strSql.Append(" DELETE [OTB_SYS_MembersToRule] ");
|
|
strSql.Append(" WHERE RuleID =@RuleID ");
|
|
SqlParameter[] parametersSubDel = {
|
|
new SqlParameter("@RuleID", SqlDbType.VarChar,20)
|
|
|
|
};
|
|
parametersSubDel[0].Value = model.RuleID;
|
|
cmd = new CommandInfo(strSql.ToString(), parametersSubDel);
|
|
sqllist.Add(cmd);
|
|
|
|
StringBuilder strSql2 = new StringBuilder();
|
|
strSql2.Append(" UPDATE [OTB_SYS_Rules] SET ");
|
|
strSql2.Append(" [RuleName] = @RuleName,[Memo] = @Memo,[ModifyUser] = @ModifyUser,[ModifyDate] = GETDATE() ");
|
|
strSql2.Append(" WHERE RuleID=@RuleID ");
|
|
SqlParameter[] parameters = {
|
|
|
|
new SqlParameter("@RuleID", SqlDbType.VarChar,20),
|
|
new SqlParameter("@RuleName", SqlDbType.NVarChar,200),
|
|
new SqlParameter("@DelStatus", SqlDbType.Char,1),
|
|
new SqlParameter("@Memo", SqlDbType.Text),
|
|
new SqlParameter("@CreateUser", SqlDbType.VarChar,50),
|
|
new SqlParameter("@CreateDate", SqlDbType.DateTime),
|
|
new SqlParameter("@ModifyUser", SqlDbType.VarChar,50),
|
|
new SqlParameter("@ModifyDate", SqlDbType.DateTime)};
|
|
|
|
parameters[0].Value = model.RuleID;
|
|
parameters[1].Value = model.RuleName;
|
|
parameters[2].Value = model.DelStatus;
|
|
parameters[3].Value = model.Memo;
|
|
parameters[4].Value = model.CreateUser;
|
|
parameters[5].Value = model.CreateDate;
|
|
parameters[6].Value = model.ModifyUser;
|
|
parameters[7].Value = model.ModifyDate;
|
|
cmd = new CommandInfo(strSql2.ToString(), parameters);
|
|
sqllist.Add(cmd);
|
|
|
|
if (model.OTB_SYS_MembersToRule != null)
|
|
{
|
|
foreach (OT.Model.OTB_SYS_MembersToRule models in model.OTB_SYS_MembersToRule)
|
|
{
|
|
StringBuilder strSql3 = new StringBuilder();
|
|
strSql3.Append(" INSERT INTO [OTB_SYS_MembersToRule]( ");
|
|
strSql3.Append(" [MemberID],[RuleID],[CreateUser],[CreateDate] ");
|
|
strSql3.Append(" )VALUES( ");
|
|
strSql3.Append(" @MemberID,@RuleID,@CreateUser,GETDATE() ) ");
|
|
SqlParameter[] parameters2 = {
|
|
new SqlParameter("@MemberID", SqlDbType.VarChar,50),
|
|
new SqlParameter("@RuleID", SqlDbType.VarChar,20),
|
|
new SqlParameter("@Memo", SqlDbType.Text),
|
|
new SqlParameter("@CreateUser", SqlDbType.VarChar,50),
|
|
new SqlParameter("@CreateDate", SqlDbType.DateTime),
|
|
new SqlParameter("@ModifyUser", SqlDbType.VarChar,50),
|
|
new SqlParameter("@ModifyDate", SqlDbType.DateTime)};
|
|
|
|
parameters2[0].Value = models.MemberID;
|
|
parameters2[1].Value = models.RuleID;
|
|
parameters2[2].Value = models.Memo;
|
|
parameters2[3].Value = model.CreateUser;
|
|
parameters2[4].Value = model.CreateDate;
|
|
parameters2[5].Value = model.ModifyUser;
|
|
parameters2[6].Value = model.ModifyDate;
|
|
cmd = new CommandInfo(strSql3.ToString(), parameters2);
|
|
sqllist.Add(cmd);
|
|
}
|
|
}
|
|
|
|
int rowsAffected = DbHelperSQL.ExecuteSqlTran(sqllist);
|
|
if (rowsAffected > 0)
|
|
{
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 刪除一条数据,及子表所有相关数据
|
|
/// </summary>
|
|
public bool Delete(string RuleID)
|
|
{
|
|
List<CommandInfo> sqllist = new List<CommandInfo>();
|
|
StringBuilder strSql = new StringBuilder();
|
|
strSql.Append(" DELETE [OTB_SYS_MembersToRule] ");
|
|
strSql.Append(" WHERE RuleID =@RuleID ");
|
|
SqlParameter[] parameters2 = {
|
|
new SqlParameter("@RuleID", SqlDbType.VarChar,50)
|
|
|
|
};
|
|
parameters2[0].Value = RuleID;
|
|
CommandInfo cmd = new CommandInfo(strSql.ToString(), parameters2);
|
|
sqllist.Add(cmd);
|
|
|
|
strSql = new StringBuilder();
|
|
strSql.Append(" UPDATE [OTB_SYS_Rules] ");
|
|
strSql.Append(" SET [DelStatus] = 'Y' ");
|
|
strSql.Append(" WHERE RuleID=@RuleID ");
|
|
|
|
strSql.Append(" DELETE [OTB_SYS_Authorize] "); //如果角色被刪除,則清空程式授權中該角色所有信息 Add By Alina 2012/12/7
|
|
strSql.Append(" WHERE RuleID=@RuleID ");
|
|
SqlParameter[] parameters = {
|
|
new SqlParameter("@RuleID", SqlDbType.VarChar,20) };
|
|
parameters[0].Value = RuleID;
|
|
cmd = new CommandInfo(strSql.ToString(), parameters);
|
|
sqllist.Add(cmd);
|
|
int rowsAffected = DbHelperSQL.ExecuteSqlTran(sqllist);
|
|
if (rowsAffected > 0)
|
|
{
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 批量刪除資料
|
|
/// </summary>
|
|
public bool DeleteList(string RuleIDlist)
|
|
{
|
|
StringBuilder strSql = new StringBuilder();
|
|
strSql.Append("delete from OTB_SYS_Rules ");
|
|
strSql.Append(" where RuleID in (" + RuleIDlist + ") ");
|
|
int rows = DbHelperSQL.ExecuteSql(strSql.ToString());
|
|
if (rows > 0)
|
|
{
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 得到一個對象實體
|
|
/// </summary>
|
|
public OT.Model.OTB_SYS_Rules GetModel(string RuleID)
|
|
{
|
|
StringBuilder strSql = new StringBuilder();
|
|
strSql.Append(" SELECT ");
|
|
strSql.Append(" RuleID,RuleName,DelStatus,Memo,CreateUser,CreateDate,ModifyUser,ModifyDate ");
|
|
strSql.Append(" FROM [OTB_SYS_Rules] ");
|
|
strSql.Append(" WHERE RuleID=@RuleID ");
|
|
SqlParameter[] parameters = {
|
|
new SqlParameter("@RuleID", SqlDbType.VarChar,20) };
|
|
parameters[0].Value = RuleID;
|
|
OT.Model.OTB_SYS_Rules model = new OT.Model.OTB_SYS_Rules();
|
|
DataSet ds = DbHelperSQL.Query(strSql.ToString(), parameters);
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
#region 主表信息
|
|
|
|
if (ds.Tables[0].Rows[0]["RuleID"] != null && ds.Tables[0].Rows[0]["RuleID"].ToString() != "")
|
|
{
|
|
model.RuleID = ds.Tables[0].Rows[0]["RuleID"].ToString();
|
|
}
|
|
if (ds.Tables[0].Rows[0]["RuleName"] != null && ds.Tables[0].Rows[0]["RuleName"].ToString() != "")
|
|
{
|
|
model.RuleName = ds.Tables[0].Rows[0]["RuleName"].ToString();
|
|
}
|
|
if (ds.Tables[0].Rows[0]["DelStatus"] != null && ds.Tables[0].Rows[0]["DelStatus"].ToString() != "")
|
|
{
|
|
model.DelStatus = ds.Tables[0].Rows[0]["DelStatus"].ToString();
|
|
}
|
|
if (ds.Tables[0].Rows[0]["Memo"] != null && ds.Tables[0].Rows[0]["Memo"].ToString() != "")
|
|
{
|
|
model.Memo = ds.Tables[0].Rows[0]["Memo"].ToString();
|
|
}
|
|
if (ds.Tables[0].Rows[0]["CreateUser"] != null && ds.Tables[0].Rows[0]["CreateUser"].ToString() != "")
|
|
{
|
|
model.CreateUser = ds.Tables[0].Rows[0]["CreateUser"].ToString();
|
|
}
|
|
if (ds.Tables[0].Rows[0]["CreateDate"] != null && ds.Tables[0].Rows[0]["CreateDate"].ToString() != "")
|
|
{
|
|
model.CreateDate = DateTime.Parse(ds.Tables[0].Rows[0]["CreateDate"].ToString());
|
|
}
|
|
if (ds.Tables[0].Rows[0]["ModifyUser"] != null && ds.Tables[0].Rows[0]["ModifyUser"].ToString() != "")
|
|
{
|
|
model.ModifyUser = ds.Tables[0].Rows[0]["ModifyUser"].ToString();
|
|
}
|
|
if (ds.Tables[0].Rows[0]["ModifyDate"] != null && ds.Tables[0].Rows[0]["ModifyDate"].ToString() != "")
|
|
{
|
|
model.ModifyDate = DateTime.Parse(ds.Tables[0].Rows[0]["ModifyDate"].ToString());
|
|
}
|
|
#endregion 主表信息end
|
|
|
|
#region 從表信息
|
|
StringBuilder strSql2 = new StringBuilder();
|
|
strSql2.Append(" SELECT ");
|
|
strSql2.Append(" M.RuleID,M.MemberID,S.MemberName as Name,M.Memo,M.CreateUser,M.CreateDate,M.ModifyUser,M.ModifyDate ");
|
|
strSql2.Append(" FROM [OTB_SYS_MembersToRule] M left join [OTB_SYS_Members] S ");
|
|
strSql2.Append(" on M.MemberID=S.MemberID ");
|
|
strSql2.Append(" WHERE M.RuleID=@RuleID ");
|
|
SqlParameter[] parameters2 = {
|
|
new SqlParameter("@RuleID", SqlDbType.VarChar)};
|
|
parameters2[0].Value = RuleID;
|
|
DataSet ds2 = DbHelperSQL.Query(strSql2.ToString(), parameters2);
|
|
if (ds2.Tables[0].Rows.Count > 0)
|
|
{
|
|
#region 從表欄位信息
|
|
int i = ds2.Tables[0].Rows.Count;
|
|
List<OT.Model.OTB_SYS_MembersToRule> models = new List<OT.Model.OTB_SYS_MembersToRule>();
|
|
OT.Model.OTB_SYS_MembersToRule modelt;
|
|
for (int n = 0; n < i; n++)
|
|
{
|
|
modelt = new OT.Model.OTB_SYS_MembersToRule();
|
|
if (ds2.Tables[0].Rows[n]["RuleID"] != null && ds2.Tables[0].Rows[n]["RuleID"].ToString() != "")
|
|
{
|
|
modelt.RuleID = ds2.Tables[0].Rows[n]["RuleID"].ToString();
|
|
}
|
|
if (ds2.Tables[0].Rows[n]["MemberID"] != null && ds2.Tables[0].Rows[n]["MemberID"].ToString() != "")
|
|
{
|
|
modelt.MemberID = ds2.Tables[0].Rows[n]["MemberID"].ToString();
|
|
}
|
|
if (ds2.Tables[0].Rows[n]["Name"] != null && ds2.Tables[0].Rows[n]["Name"].ToString() != "")
|
|
{
|
|
modelt.NAME = ds2.Tables[0].Rows[n]["Name"].ToString();
|
|
}
|
|
models.Add(modelt);
|
|
}
|
|
model.OTB_SYS_MembersToRule = models;
|
|
#endregion 從表欄位信息end
|
|
}
|
|
#endregion 從表信息end
|
|
|
|
return model;
|
|
}
|
|
else
|
|
{
|
|
return null;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 獲得資料列表(加上所屬人員判斷) RuletoMember
|
|
/// </summary>
|
|
public DataSet GetRuletoMemberList(int StartRecordIndex, int EndRecordIndex, string RuleID, string RuleName, string MemberID, string SortExpression)
|
|
{
|
|
StringBuilder strSql = new StringBuilder();
|
|
strSql.Append(" SELECT ");
|
|
strSql.Append(" RowId,RuleID,RuleName,memberID ");
|
|
strSql.Append(" FROM ( SELECT ");
|
|
strSql.Append(" CASE @SortExpression WHEN N'RuleID' THEN ");
|
|
strSql.Append(" (ROW_NUMBER() OVER(Order BY RuleID)) ");
|
|
strSql.Append(" WHEN N'RuleID DESC' THEN ");
|
|
strSql.Append(" (ROW_NUMBER() OVER(Order BY RuleID DESC)) ");
|
|
strSql.Append(" WHEN N'RuleName' THEN ");
|
|
strSql.Append(" (ROW_NUMBER() OVER(Order BY RuleName)) ");
|
|
strSql.Append(" WHEN N'RuleName DESC' THEN ");
|
|
strSql.Append(" (ROW_NUMBER() OVER(Order BY RuleName DESC)) ");
|
|
strSql.Append(" WHEN N'memberID' THEN ");
|
|
strSql.Append(" (ROW_NUMBER() OVER(Order BY (SELECT TBB.MemberName +'|' ");
|
|
strSql.Append(" FROM dbo.[OTB_SYS_Rules] AS SR ");
|
|
strSql.Append(" LEFT JOIN [OTB_SYS_MembersToRule] AS TSM ON SR.RuleID = TSM.RuleID ");
|
|
strSql.Append(" LEFT JOIN OTB_SYS_Members AS TBB ON TSM.MemberID=TBB.MemberID ");
|
|
strSql.Append(" WHERE sr.RuleID=va.RuleID ");
|
|
strSql.Append(" FOR XML PATH('')))) ");
|
|
strSql.Append(" WHEN N'memberID DESC' THEN ");
|
|
strSql.Append(" (ROW_NUMBER() OVER(Order BY (SELECT TBB.MemberName +'|' ");
|
|
strSql.Append(" FROM dbo.[OTB_SYS_Rules] AS SR ");
|
|
strSql.Append(" LEFT JOIN [OTB_SYS_MembersToRule] AS TSM ON SR.RuleID = TSM.RuleID ");
|
|
strSql.Append(" LEFT JOIN OTB_SYS_Members AS TBB ON TSM.MemberID=TBB.MemberID ");
|
|
strSql.Append(" WHERE sr.RuleID=va.RuleID ");
|
|
strSql.Append(" FOR XML PATH('')) DESC)) ");
|
|
strSql.Append(" ELSE ");
|
|
strSql.Append(" (ROW_NUMBER() OVER(Order BY RuleID)) ");
|
|
strSql.Append(" END AS RowId ");
|
|
strSql.Append(" ,VA.RuleID ");
|
|
strSql.Append(" ,RuleName ");
|
|
strSql.Append(" ,(SELECT TBB.MemberName +'|' ");
|
|
strSql.Append(" FROM dbo.[OTB_SYS_Rules] AS SR ");
|
|
strSql.Append(" LEFT JOIN [OTB_SYS_MembersToRule] AS TSM ON SR.RuleID = TSM.RuleID ");
|
|
strSql.Append(" LEFT JOIN OTB_SYS_Members AS TBB ON TSM.MemberID=TBB.MemberID ");
|
|
strSql.Append(" WHERE sr.RuleID=va.RuleID ");
|
|
strSql.Append(" FOR XML PATH(''))AS memberID ");
|
|
strSql.Append(" FROM [OTB_SYS_Rules] AS VA ");
|
|
strSql.Append(" WHERE (VA.RuleID LIKE @RuleID OR @RuleID IS NULL OR @RuleID='' OR @RuleID = '%%') ");
|
|
strSql.Append(" AND (RuleName LIKE @RuleName OR @RuleName IS NULL OR @RuleName='') ");
|
|
strSql.Append(" and (((SELECT TBB.MemberName +'|' ");
|
|
strSql.Append(" FROM dbo.[OTB_SYS_Rules] AS SR ");
|
|
strSql.Append(" LEFT JOIN [OTB_SYS_MembersToRule] AS TSM ON SR.RuleID = TSM.RuleID ");
|
|
strSql.Append(" LEFT JOIN OTB_SYS_Members AS TBB ON TSM.MemberID=TBB.MemberID ");
|
|
strSql.Append(" WHERE sr.RuleID=va.RuleID ");
|
|
strSql.Append(" FOR XML PATH('')) LIKE @memberID OR @memberID IS NULL OR @memberID='%%') ");
|
|
strSql.Append(" or ((SELECT Memberid +'|' ");
|
|
strSql.Append(" FROM dbo.[OTB_SYS_Rules] AS SR ");
|
|
strSql.Append(" LEFT JOIN [OTB_SYS_MembersToRule] AS TSM ON SR.RuleID = TSM.RuleID ");
|
|
strSql.Append(" WHERE sr.RuleID=va.RuleID ");
|
|
strSql.Append(" FOR XML PATH('')) LIKE @memberID OR @memberID IS NULL OR @memberID='%%')) ");
|
|
strSql.Append(" AND [DelStatus] = 'N' ");
|
|
strSql.Append(" ) AS AA ");
|
|
strSql.Append(" WHERE AA.RowId>=@StartRecordIndex AND AA.RowId<=@EndRecordIndex ");
|
|
strSql.Append(" ORDER BY RowId ");
|
|
SqlParameter[] parameters = {
|
|
new SqlParameter("@StartRecordIndex", SqlDbType.Int)
|
|
,new SqlParameter("@EndRecordIndex", SqlDbType.Int)
|
|
,new SqlParameter("@RuleID", SqlDbType.VarChar,20)
|
|
,new SqlParameter("@RuleName", SqlDbType.NVarChar,200)
|
|
,new SqlParameter("@MemberID", SqlDbType.NVarChar,200)
|
|
,new SqlParameter("@SortExpression", SqlDbType.NVarChar,500)
|
|
};
|
|
parameters[0].Value = StartRecordIndex;
|
|
parameters[1].Value = EndRecordIndex;
|
|
parameters[2].Value = "%" + RuleID + "%";
|
|
parameters[3].Value = "%" + RuleName + "%";
|
|
parameters[4].Value = "%" + MemberID + "%";
|
|
parameters[5].Value = SortExpression;
|
|
//return DbHelperSQL.RunProcedure("OSP_OTB_SYS_Rules_GetRuletoMemberList", parameters, "ds");
|
|
return DbHelperSQL.Query(strSql.ToString(), parameters);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 獲得資料總筆數(加上所屬人員判斷)
|
|
/// </summary>
|
|
public int GetRuletoMemberListCount(string RuleID, string RuleName, string MemberID)
|
|
{
|
|
StringBuilder strSql = new StringBuilder();
|
|
strSql.Append(" SELECT COUNT(0) ");
|
|
strSql.Append(" FROM [OTB_SYS_Rules] as va ");
|
|
strSql.Append(" WHERE (RuleID LIKE @RuleID OR @RuleID IS NULL OR @RuleID='' OR @RuleID='%%') ");
|
|
strSql.Append(" AND (@RuleName LIKE @RuleName OR @RuleName IS NULL OR @RuleName='%%') ");
|
|
strSql.Append(" and (((SELECT TBB.MemberName +'|' ");
|
|
strSql.Append(" FROM dbo.[OTB_SYS_Rules] AS SR ");
|
|
strSql.Append(" LEFT JOIN [OTB_SYS_MembersToRule] AS TSM ON SR.RuleID = TSM.RuleID ");
|
|
strSql.Append(" LEFT JOIN OTB_SYS_Members AS TBB ON TSM.MemberID=TBB.MemberID ");
|
|
strSql.Append(" WHERE sr.RuleID=va.RuleID ");
|
|
strSql.Append(" FOR XML PATH('')) LIKE @memberID OR @memberID IS NULL OR @MemberID='%%') ");
|
|
strSql.Append(" or ((SELECT Memberid +'|' ");
|
|
strSql.Append(" FROM dbo.[OTB_SYS_Rules] AS SR ");
|
|
strSql.Append(" LEFT JOIN [OTB_SYS_MembersToRule] AS TSM ON SR.RuleID = TSM.RuleID ");
|
|
strSql.Append(" WHERE sr.RuleID=va.RuleID ");
|
|
strSql.Append(" FOR XML PATH('')) LIKE @memberID OR @memberID IS NULL OR @MemberID='%%')) ");
|
|
strSql.Append(" AND [DelStatus] = 'N' ");
|
|
SqlParameter[] parameters = {
|
|
new SqlParameter("@RuleID", SqlDbType.VarChar,20)
|
|
,new SqlParameter("@RuleName", SqlDbType.NVarChar,200)
|
|
,new SqlParameter("@MemberID", SqlDbType.NVarChar,200)
|
|
};
|
|
parameters[0].Value = "%" + RuleID + "%";
|
|
parameters[1].Value = "%" + RuleName + "%";
|
|
parameters[2].Value = "%" + MemberID + "%";
|
|
//return (int)DbHelperSQL.GetSingle("OSP_OTB_SYS_Rules_GetRuletoMemberCount", parameters);
|
|
return (int)DbHelperSQL.GetSingle(strSql.ToString(), parameters);
|
|
}
|
|
#endregion Method
|
|
}
|
|
}
|
|
|
|
|