📄 nodes.cs
字号:
namespace PowerEasy.SqlServerDal.Contents
{
using Microsoft.Practices.EnterpriseLibrary.Data;
using PowerEasy.Common;
using PowerEasy.Enumerations;
using PowerEasy.IDal.Contents;
using PowerEasy.Model.Contents;
using PowerEasy.SqlServerDal;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Common;
using System.Text;
public class Nodes : INodes
{
private static Serialize<NodeSettingInfo> ser = new Serialize<NodeSettingInfo>();
public bool Add(NodeInfo nodeInfo)
{
Parameters cmdParams = GetParameters(nodeInfo);
return DBHelper.ExecuteProc("PR_Contents_Nodes_Add", cmdParams);
}
public bool BatchUpdateField(NodeInfo nodeInfo, string nodesId, Dictionary<string, bool> checkItem)
{
StringBuilder builder = new StringBuilder();
Parameters cmdParams = new Parameters();
builder.Append("UPDATE PE_Nodes SET ");
if (checkItem["OpenType"])
{
builder.Append("OpenType = @OpenType,");
cmdParams.AddInParameter("@OpenType", DbType.Int32, nodeInfo.OpenType);
}
if (checkItem["PurviewType"])
{
builder.Append("PurviewType = @PurviewType,");
cmdParams.AddInParameter("@PurviewType", DbType.Int32, nodeInfo.PurviewType);
}
if (checkItem["WorkFlowId"])
{
builder.Append("WorkFlowID = @WorkFlowID,");
cmdParams.AddInParameter("@WorkFlowID", DbType.Int32, nodeInfo.WorkFlowId);
}
if (checkItem["HitsOfHot"])
{
builder.Append("HitsOfHot = @HitsOfHot,");
cmdParams.AddInParameter("@HitsOfHot", DbType.Int32, nodeInfo.HitsOfHot);
}
if (checkItem["FileCdefaultListTmeplate"])
{
builder.Append("DefaultTemplateFile = @DefaultTemplateFile,");
cmdParams.AddInParameter("@DefaultTemplateFile", DbType.String, nodeInfo.DefaultTemplateFile);
}
if (checkItem["FileContainChildTemplate"])
{
builder.Append("ContainChildTemplateFile = @ContainChildTemplateFile,");
cmdParams.AddInParameter("@ContainChildTemplateFile", DbType.String, nodeInfo.ContainChildTemplateFile);
}
if (checkItem["ShowOnMenu"])
{
builder.Append("ShowOnMenu = @ShowOnMenu,");
cmdParams.AddInParameter("ShowOnMenu", DbType.Boolean, nodeInfo.ShowOnMenu);
}
if (checkItem["ShowOnPath"])
{
builder.Append("ShowOnPath = @ShowOnPath,");
cmdParams.AddInParameter("@ShowOnPath", DbType.Boolean, nodeInfo.ShowOnPath);
}
if (checkItem["ShowOnMap"])
{
builder.Append("ShowOnMap = @ShowOnMap,");
cmdParams.AddInParameter("@ShowOnMap", DbType.Boolean, nodeInfo.ShowOnMap);
}
if (checkItem["ShowOnListIndex"])
{
builder.Append("ShowOnList_Index = @ShowOnListIndex,");
cmdParams.AddInParameter("@ShowOnListIndex", DbType.Boolean, nodeInfo.ShowOnListIndex);
}
if (checkItem["ShowOnListParent"])
{
builder.Append("ShowOnList_Parent = @ShowOnListParent,");
cmdParams.AddInParameter("@ShowOnListParent", DbType.Boolean, nodeInfo.ShowOnListParent);
}
if (checkItem["ItemPageSize"])
{
builder.Append("ItemPageSize = @ItemPageSize,");
cmdParams.AddInParameter("@ItemPageSize", DbType.Int32, nodeInfo.ItemPageSize);
}
if (checkItem["ItemOpenType"])
{
builder.Append("ItemOpenType = @ItemOpenType,");
cmdParams.AddInParameter("@ItemOpenType", DbType.Int32, nodeInfo.ItemOpenType);
}
if (checkItem["ItemListOrderType"])
{
builder.Append("ItemListOrderType = @ItemListOrderType,");
cmdParams.AddInParameter("@ItemListOrderType", DbType.Int32, nodeInfo.ItemListOrderType);
}
if (checkItem["ListPageCreateHtmlType"])
{
builder.Append("IsCreateListPage = @IsCreateListPage,");
cmdParams.AddInParameter("@IsCreateListPage", DbType.Boolean, nodeInfo.IsCreateListPage);
}
if (checkItem["AutoCreateHtmlType"])
{
builder.Append("AutoCreateHtmlType = @AutoCreateHtmlType,");
cmdParams.AddInParameter("@AutoCreateHtmlType", DbType.Int32, nodeInfo.AutoCreateHtmlType);
}
if (checkItem["Relation"])
{
builder.Append("RelateSpecial = @RelateSpecial,");
cmdParams.AddInParameter("@RelateSpecial", DbType.String, nodeInfo.RelateSpecial);
builder.Append("RelateNode = @RelateNode,");
cmdParams.AddInParameter("@RelateNode", DbType.String, nodeInfo.RelateNode);
}
if (checkItem["ListPageHtmlDirType"])
{
builder.Append("ListPageSavePathType = @ListPageSavePathType,");
cmdParams.AddInParameter("@ListPageSavePathType", DbType.Int32, nodeInfo.ListPageSavePathType);
}
if (checkItem["PagePostfix"])
{
builder.Append("ListPagePostfix = @ListPagePostfix,");
cmdParams.AddInParameter("@ListPagePostfix", DbType.String, nodeInfo.ListPagePostfix);
}
if (checkItem["ContentPageCreateHtmlType"])
{
builder.Append("IsCreateContentPage = @IsCreateContentPage,");
cmdParams.AddInParameter("@IsCreateContentPage", DbType.Boolean, nodeInfo.IsCreateContentPage);
}
if (checkItem["ContentHtmlDir"])
{
builder.Append("ContentPageHtmlRule = @ContentPageHtmlRule,");
cmdParams.AddInParameter("@ContentPageHtmlRule", DbType.String, nodeInfo.ContentPageHtmlRule);
}
if (builder.Length <= 20)
{
return true;
}
builder.Remove(builder.Length - 1, 1);
builder.Append(" WHERE NodeID IN ( ");
builder.Append(nodesId);
builder.Append(" )");
return DBHelper.ExecuteSql(builder.ToString(), cmdParams);
}
public bool DeleteInArrChild(string arrChildId)
{
return DBHelper.ExecuteSql("DELETE FROM PE_Nodes WHERE NodeID IN ( " + arrChildId + " )");
}
private static NodeSettingInfo DeserializeSettings(string xmlString)
{
return ser.DeserializeField(xmlString);
}
public bool ExistNodeDir(int nodeId, string nodeDir)
{
Parameters cmdParams = new Parameters();
cmdParams.AddInParameter("@NodeId", DbType.Int32, nodeId);
cmdParams.AddInParameter("@NodeDir", DbType.String, nodeDir);
return DBHelper.ExistsSql("SELECT Count(*) FROM PE_Nodes WHERE ParentID=@NodeId AND NodeDir=@NodeDir", cmdParams);
}
public bool ExistsNodeIdentifier(int parentId, string nodeIdentifier)
{
Parameters cmdParams = new Parameters();
cmdParams.AddInParameter("@ParentID", DbType.Int32, parentId);
cmdParams.AddInParameter("@NodeIdentifier", DbType.String, nodeIdentifier);
return DBHelper.ExistsSql("SELECT Count(*) FROM PE_Nodes WHERE ParentID=@ParentID AND NodeIdentifier=@NodeIdentifier", cmdParams);
}
public bool ExistsNodeName(int parentId, string nodeName)
{
Parameters cmdParams = new Parameters();
cmdParams.AddInParameter("@ParentID", DbType.Int32, parentId);
cmdParams.AddInParameter("@NodeName", DbType.String, nodeName);
return DBHelper.ExistsSql("SELECT COUNT(*) FROM PE_Nodes WHERE ParentID=@ParentID AND NodeName=@NodeName", cmdParams);
}
public bool ExistsTargetNodeIdInArrChildId(int targetNodeId, string arrChildId)
{
Parameters cmdParams = new Parameters();
cmdParams.AddInParameter("@TargetParentID", DbType.Int32, targetNodeId);
return DBHelper.ExistsSql("SELECT COUNT(*) FROM PE_Nodes WHERE NodeID=@TargetParentID AND NodeID IN (" + arrChildId + ")", cmdParams);
}
public IList<NodeInfo> GetAnonymousNodeId(int groupId, OperateCode operateCode)
{
IList<NodeInfo> list = new List<NodeInfo>();
Parameters cmdParams = new Parameters();
cmdParams.AddInParameter("@GroupId", DbType.Int32, groupId);
cmdParams.AddInParameter("@OperateCode", DbType.Int32, operateCode);
string strCommand = "SELECT * FROM PE_Nodes WHERE NodeId in (Select Distinct NodeId FROM PE_GroupNodePermissions where GroupId = @GroupId And OperateCode= @OperateCode) ORDER BY NodeId";
using (NullableDataReader reader = DBHelper.ExecuteReader(CommandType.Text, strCommand, cmdParams))
{
while (reader.Read())
{
list.Add(NodesFromrdr(reader));
}
}
return list;
}
public int GetCountModelByNodeId(int nodeId)
{
Parameters cmdParams = new Parameters();
cmdParams.AddInParameter("@NodeID", DbType.Int32, nodeId);
return DataConverter.CLng(DBHelper.ExecuteScalarSql("select Count(*) from PE_CommonModel where NodeID=@NodeID", cmdParams));
}
public int GetCountNodesBySameNodeDir(int parentId, int nodeId, string nodeDir)
{
Parameters cmdParams = new Parameters();
cmdParams.AddInParameter("@ParentID", DbType.Int32, parentId);
cmdParams.AddInParameter("@NodeID", DbType.Int32, nodeId);
cmdParams.AddInParameter("@NodeDir", DbType.String, nodeDir);
string strSql = "SELECT COUNT(*) FROM PE_Nodes WHERE ParentID=@ParentID AND NodeID<>@NodeID AND NodeDir=@NodeDir";
return DataConverter.CLng(DBHelper.ExecuteScalarSql(strSql, cmdParams));
}
public bool GetDefaultTemplate(int nodeId, int templateId)
{
Parameters cmdParams = new Parameters();
cmdParams.AddInParameter("@NodeID", DbType.Int32, nodeId);
cmdParams.AddInParameter("@TemplateID", DbType.Int32, templateId);
string strCommand = "SELECT IsDefault FROM PE_Nodes_Template WHERE NodeID=@NodeID AND TemplateID=@TemplateID";
using (NullableDataReader reader = DBHelper.ExecuteReader(CommandType.Text, strCommand, cmdParams))
{
return (reader.Read() && reader.GetBoolean("IsDefault"));
}
}
public int GetMaxNodeId()
{
return DBHelper.GetMaxId("PE_Nodes", "NodeID");
}
public int GetMaxPurviewTypeInParentPath(string parentPath)
{
return DataConverter.CLng(DBHelper.ExecuteScalarSql("SELECT MAX(PurviewType) FROM PE_Nodes WHERE NodeID IN (" + parentPath + ")"));
}
public int GetMaxRootId()
{
return DBHelper.GetMaxId("PE_Nodes", "RootID");
}
public int GetNextIdByDepth(int depth, string parentPath)
{
Parameters cmdParams = new Parameters();
cmdParams.AddInParameter("@Depth", DbType.Int32, depth);
return DataConverter.CLng(DBHelper.ExecuteScalarSql("SELECT NextID FROM PE_Nodes WHERE Depth=@Depth AND NodeID IN (" + parentPath + ")", cmdParams));
}
public NodeInfo GetNodeById(int nodeId)
{
NodeInfo info;
Database database = DatabaseFactory.CreateDatabase();
DbCommand storedProcCommand = database.GetStoredProcCommand("PR_Contents_Nodes_GetById");
database.AddInParameter(storedProcCommand, "@NodeID", DbType.Int32, nodeId);
using (NullableDataReader reader = new NullableDataReader(database.ExecuteReader(storedProcCommand)))
{
if (reader.Read())
{
return NodesFromrdr(reader);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -