⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 nodes.cs

📁 动易SiteFactory&#8482 网上商店系统1.0源代码
💻 CS
📖 第 1 页 / 共 3 页
字号:
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 + -