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

📄 surveyfield.cs

📁 动易SiteFactory&#8482 网上商店系统1.0源代码
💻 CS
字号:
namespace PowerEasy.SqlServerDal.Survey
{
    using Microsoft.Practices.EnterpriseLibrary.Data;
    using PowerEasy.IDal.Survey;
    using PowerEasy.Model.Survey;
    using PowerEasy.SqlServerDal;
    using System;
    using System.Data;
    using System.Data.Common;
    using System.Text;

    public class SurveyField : ISurveyField
    {
        public bool Add(int surveyId, string questionInfoList)
        {
            return UpdateQuestionField(surveyId, questionInfoList, "Update PE_Survey Set QuestionMaxId = QuestionMaxId + 1,QuestionField = @QuestionField Where SurveyId = @SurveyId");
        }

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

        public bool Delete(int surveyId, string questionInfoList)
        {
            return UpdateQuestionField(surveyId, questionInfoList, "Update PE_Survey Set QuestionField = @QuestionField Where SurveyId = @SurveyId");
        }

        public bool DeleteColumn(int questionId, int surveyId)
        {
            StringBuilder builder = new StringBuilder();
            builder.Append(" ALTER TABLE ");
            builder.Append("PE_SurveyRecord" + surveyId);
            builder.Append(" DROP COLUMN ");
            builder.Append("Q" + questionId);
            Database database = DatabaseFactory.CreateDatabase();
            DbCommand sqlStringCommand = database.GetSqlStringCommand(builder.ToString());
            try
            {
                database.ExecuteNonQuery(sqlStringCommand);
                return true;
            }
            catch
            {
                return false;
            }
        }

        public bool DeleteInputColumn(int questionId, int surveyId)
        {
            StringBuilder builder = new StringBuilder();
            builder.Append(" ALTER TABLE ");
            builder.Append("PE_SurveyRecord" + surveyId);
            builder.Append(" DROP COLUMN ");
            builder.Append("Q" + questionId + "Input");
            Database database = DatabaseFactory.CreateDatabase();
            DbCommand sqlStringCommand = database.GetSqlStringCommand(builder.ToString());
            try
            {
                database.ExecuteNonQuery(sqlStringCommand);
                return true;
            }
            catch
            {
                return false;
            }
        }

        public static string GetAddColumnToTableSql(SurveyFieldInfo surveyFieldInfo, string tableName)
        {
            int questionType = surveyFieldInfo.QuestionType;
            StringBuilder builder = new StringBuilder();
            builder.Append("ALTER TABLE [");
            builder.Append(tableName);
            builder.Append("] ADD [");
            builder.Append("Q" + surveyFieldInfo.QuestionId);
            builder.Append("] ");
            switch (questionType)
            {
                case 0:
                    builder.Append("[nvarchar] (255)");
                    break;

                case 1:
                    builder.Append("[ntext]");
                    break;

                case 2:
                    builder.Append("[nvarchar] (5)");
                    switch (surveyFieldInfo.InputType)
                    {
                        case 1:
                            builder.Append(",[");
                            builder.Append("Q" + surveyFieldInfo.QuestionId + "Input");
                            builder.Append("] ");
                            builder.Append("[nvarchar] (255)");
                            break;

                        case 2:
                            builder.Append(",[");
                            builder.Append("Q" + surveyFieldInfo.QuestionId + "Input");
                            builder.Append("] ");
                            builder.Append("[ntext]");
                            break;
                    }
                    break;

                case 3:
                    builder.Append("[nvarchar] (50)");
                    switch (surveyFieldInfo.InputType)
                    {
                        case 1:
                            builder.Append(",[");
                            builder.Append("Q" + surveyFieldInfo.QuestionId + "Input");
                            builder.Append("] ");
                            builder.Append("[nvarchar] (255)");
                            break;

                        case 2:
                            builder.Append(",[");
                            builder.Append("Q" + surveyFieldInfo.QuestionId + "Input");
                            builder.Append("] ");
                            builder.Append("[ntext]");
                            break;
                    }
                    break;

                case 4:
                    builder.Append("[nvarchar] (5)");
                    break;

                case 5:
                    builder.Append("[nvarchar] (50)");
                    break;

                case 6:
                    builder.Append("[nvarchar] (50)");
                    break;

                case 7:
                    builder.Append("[nvarchar] (5)");
                    break;

                case 8:
                    builder.Append("[nvarchar] (255)");
                    break;

                case 9:
                    builder.Append("[nvarchar] (255)");
                    break;
            }
            return builder.ToString();
        }

        public string GetXmlFieldBySurveyId(int surveyId)
        {
            Parameters cmdParams = new Parameters();
            cmdParams.AddInParameter("@SurveyId", DbType.Int32, surveyId);
            object obj2 = DBHelper.ExecuteScalarSql("SELECT QuestionField FROM PE_Survey WHERE SurveyId=@SurveyId", cmdParams);
            if (obj2 == null)
            {
                return null;
            }
            return Convert.ToString(obj2);
        }

        public bool Update(int surveyId, string questionInfoList)
        {
            return UpdateQuestionField(surveyId, questionInfoList, "Update PE_Survey Set QuestionField = @QuestionField Where SurveyId = @SurveyId");
        }

        private static bool UpdateQuestionField(int surveyId, string questionInfoList, string sql)
        {
            Parameters cmdParams = new Parameters();
            cmdParams.AddInParameter("@QuestionField", DbType.String, questionInfoList);
            cmdParams.AddInParameter("@SurveyId", DbType.Int32, surveyId);
            return DBHelper.ExecuteSql(sql, cmdParams);
        }
    }
}

⌨️ 快捷键说明

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