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

📄 modeldal.cs

📁 动易SiteFactory&#8482 网上商店系统1.0源代码
💻 CS
📖 第 1 页 / 共 3 页
字号:
namespace PowerEasy.SqlServerDal.CommonModel
{
    using Microsoft.Practices.EnterpriseLibrary.Data;
    using PowerEasy.Enumerations;
    using PowerEasy.IDal.CommonModel;
    using PowerEasy.Model.CommonModel;
    using PowerEasy.Model.Contents;
    using PowerEasy.SqlServerDal;
    using PowerEasy.SqlServerDal.Contents;
    using PowerEasy.SqlServerDal.Shop;
    using System;
    using System.Collections;
    using System.Collections.Generic;
    using System.Data;
    using System.Data.Common;

    public class ModelDal : IModel
    {
        public bool Add(ModelInfo modelInfo)
        {
            if (TableExists(modelInfo.TableName))
            {
                return false;
            }
            Parameters parms = new Parameters();
            modelInfo.ModelId = DBHelper.GetMaxId("PE_Model", "ModelID") + 1;
            GetParameters(modelInfo, parms);
            return DBHelper.ExecuteProc("PR_Contents_Model_Add", parms);
        }

        public bool AddFieldToTable(FieldInfo fieldInfo, string tableName)
        {
            string addColumnToTableSql = Query.GetAddColumnToTableSql(fieldInfo, tableName);
            Database database = DatabaseFactory.CreateDatabase();
            DbCommand sqlStringCommand = database.GetSqlStringCommand(addColumnToTableSql);
            try
            {
                database.ExecuteNonQuery(sqlStringCommand);
                return true;
            }
            catch
            {
                return false;
            }
        }

        public bool AddModelForNodes(int nodeId, int modelId, string templateId)
        {
            Parameters cmdParams = new Parameters();
            cmdParams.AddInParameter("@NodeId", DbType.Int32, nodeId);
            cmdParams.AddInParameter("@ModelId", DbType.Int32, modelId);
            cmdParams.AddInParameter("@DefaultTemplateFile", DbType.String, templateId);
            return DBHelper.ExecuteProc("PR_Contents_Model_AddModelForNodes", cmdParams);
        }

        public bool AddNodesModelTemplateRelationShip(NodesModelTemplateRelationShipInfo info)
        {
            Parameters cmdParams = new Parameters();
            cmdParams.AddInParameter("@NodeId", DbType.Int32, info.NodeId);
            cmdParams.AddInParameter("@ModelId", DbType.Int32, info.ModelId);
            cmdParams.AddInParameter("@DefaultTemplateFile", DbType.String, info.DefaultTemplateFile);
            string strSql = "INSERT INTO PE_Nodes_Model_Template(NodeId,ModelId,DefaultTemplateFile) VALUES(@NodeId,@ModelId,@DefaultTemplateFile)";
            return DBHelper.ExecuteSql(strSql, cmdParams);
        }

        public bool AddTemplateForNodes(int nodeId, int templateId, bool isDefault)
        {
            Parameters cmdParams = new Parameters();
            cmdParams.AddInParameter("@NodeId", DbType.Int32, nodeId);
            cmdParams.AddInParameter("@TemplateId", DbType.Int32, templateId);
            cmdParams.AddInParameter("@IsDefault", DbType.Boolean, isDefault);
            return DBHelper.ExecuteProc("PR_Contents_Model_AddTemplateForNodes", cmdParams);
        }

        public bool Delete(int modelId)
        {
            ModelInfo modelInfoById = this.GetModelInfoById(modelId);
            if (modelInfoById.IsEshop)
            {
                OrderItem item = new OrderItem();
                if (item.ExistsProduct(modelInfoById.TableName))
                {
                    return false;
                }
            }
            if (this.DeleteTable(modelId))
            {
                Parameters cmdParams = new Parameters();
                cmdParams.AddInParameter("@ModelId", DbType.Int32, modelId);
                string strSql = "DELETE FROM PE_Nodes_Model_Template WHERE ModelId=@ModelId";
                DBHelper.ExecuteNonQuerySql(strSql, cmdParams);
                if (DBHelper.ExecuteSql("DELETE FROM PE_Model WHERE ModelId=@ModelId", cmdParams))
                {
                    try
                    {
                        DBHelper.ExecuteSql("DELETE FROM PE_CommonModel WHERE ModelId=@ModelId", cmdParams);
                        if (modelInfoById.IsEshop)
                        {
                            DBHelper.ExecuteProc("PR_Shop_Product_DeleteModel", new Parameters("@TableName", DbType.String, modelInfoById.TableName));
                        }
                        return true;
                    }
                    catch
                    {
                        return false;
                    }
                }
            }
            return false;
        }

        public bool DeleteNodeModel(int nodeId)
        {
            Parameters cmdParams = new Parameters();
            cmdParams.AddInParameter("@NodeId", DbType.Int32, nodeId);
            return DBHelper.ExecuteSql("DELETE FROM PE_Nodes_Model_Template WHERE NodeId=@NodeId", cmdParams);
        }

        public bool DeleteNodesModelTemplateRelationShip(int nodeId)
        {
            Parameters cmdParams = new Parameters();
            cmdParams.AddInParameter("@NodeId", DbType.Int32, nodeId);
            string strSql = "DELETE FROM PE_Nodes_Model_Template WHERE NodeId=@NodeId";
            return DBHelper.ExecuteSql(strSql, cmdParams);
        }

        public bool DeleteNodeTemplateId(int nodeId)
        {
            Parameters cmdParams = new Parameters();
            cmdParams.AddInParameter("@NodeID", DbType.Int32, nodeId);
            return DBHelper.ExecuteSql("DELETE FROM PE_Nodes_Template WHERE NodeID=@NodeID", cmdParams);
        }

        private bool DeleteTable(int modelId)
        {
            string tableName = this.GetModelInfoById(modelId).TableName;
            string query = "DROP TABLE " + tableName;
            Database database = DatabaseFactory.CreateDatabase();
            DbCommand sqlStringCommand = database.GetSqlStringCommand(query);
            try
            {
                database.ExecuteNonQuery(sqlStringCommand);
            }
            catch
            {
                return false;
            }
            return true;
        }

        public bool DeleteTableField(string fieldName, string tableName)
        {
            string deleteColumnFromTableSql = Query.GetDeleteColumnFromTableSql(fieldName, tableName);
            Database database = DatabaseFactory.CreateDatabase();
            DbCommand sqlStringCommand = database.GetSqlStringCommand(deleteColumnFromTableSql);
            try
            {
                database.ExecuteNonQuery(sqlStringCommand);
                return true;
            }
            catch
            {
                return false;
            }
        }

        public bool Disable(int id, bool disabled)
        {
            Parameters cmdParams = new Parameters();
            cmdParams.AddInParameter("@ModelID", DbType.Int32, id);
            cmdParams.AddInParameter("@Disabled", DbType.Boolean, disabled);
            return DBHelper.ExecuteProc("PR_Contents_Model_Disabled", cmdParams);
        }

        public bool EnableCharge(int id, bool charge)
        {
            Parameters cmdParams = new Parameters();
            cmdParams.AddInParameter("@ModelID", DbType.Int32, id);
            cmdParams.AddInParameter("@EnableCharge", DbType.Boolean, charge);
            string strSql = "UPDATE PE_Model SET EnableCharge=@EnableCharge WHERE ModelID=@ModelID";
            return DBHelper.ExecuteSql(strSql, cmdParams);
        }

        public bool EnableSignin(int id, bool signin)
        {
            Parameters cmdParams = new Parameters();
            cmdParams.AddInParameter("@ModelID", DbType.Int32, id);
            cmdParams.AddInParameter("@EnableSignin", DbType.Boolean, signin);
            string strSql = "UPDATE PE_Model SET EnableSignin=@EnableSignin WHERE ModelID=@ModelID";
            return DBHelper.ExecuteSql(strSql, cmdParams);
        }

        public bool ExistsNodesModelTemplateRelationShip(NodesModelTemplateRelationShipInfo info)
        {
            Parameters cmdParams = new Parameters();
            cmdParams.AddInParameter("@NodeId", DbType.Int32, info.NodeId);
            cmdParams.AddInParameter("@ModelId", DbType.Int32, info.ModelId);
            cmdParams.AddInParameter("@DefaultTemplateFile", DbType.String, info.DefaultTemplateFile);
            string strSql = "SELECT COUNT(*) FROM PE_Nodes_Model_Template WHERE NodeId=@NodeId AND ModelId=@ModelId AND DefaultTemplateFile=@DefaultTemplateFile";
            return DBHelper.ExistsSql(strSql, cmdParams);
        }

        public bool ExistsNodesModelTemplateRelationShip(int nodeId)
        {
            Parameters cmdParams = new Parameters();
            cmdParams.AddInParameter("@NodeId", DbType.Int32, nodeId);
            string strSql = "SELECT COUNT(*) FROM PE_Nodes_Model_Template WHERE NodeId=@NodeId";
            return DBHelper.ExistsSql(strSql, cmdParams);
        }

        public DataTable GetContentModelListByNodeId(int nodeId, bool enable)
        {
            bool flag = false;
            if (!enable)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -