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

📄 surveyrecord.cs

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

    public class SurveyRecord : ISurveyRecord
    {
        private int m_TotalOfSurveyRecord;

        public bool Delete(string recordId, int surveyId)
        {
            return DBHelper.ExecuteSql(string.Concat(new object[] { "delete from PE_SurveyRecord", surveyId, " where RecordID in (", recordId, ")" }));
        }

        public void DeleteTable(int surveyId)
        {
            DBHelper.ExecuteNonQuery(CommandType.Text, string.Format("if object_ID('{0}') is not null drop table [{0}]", "PE_SurveyRecord" + surveyId.ToString()), null);
        }

        public IList<SurveyRecordInfo> GetList(int startRowIndexId, int maxNumberRows, int surveyId, int recordId)
        {
            Database database = DatabaseFactory.CreateDatabase();
            DbCommand storedProcCommand = database.GetStoredProcCommand("PR_Common_GetList");
            database.AddInParameter(storedProcCommand, "@StartRows", DbType.Int32);
            database.AddInParameter(storedProcCommand, "@PageSize", DbType.Int32);
            database.AddInParameter(storedProcCommand, "@SortColumn", DbType.String);
            database.AddInParameter(storedProcCommand, "@StrColumn", DbType.String);
            database.AddInParameter(storedProcCommand, "@Sorts", DbType.String);
            database.AddInParameter(storedProcCommand, "@Filter", DbType.String);
            database.AddInParameter(storedProcCommand, "@TableName", DbType.String);
            database.SetParameterValue(storedProcCommand, "@StartRows", startRowIndexId);
            database.SetParameterValue(storedProcCommand, "@PageSize", maxNumberRows);
            database.SetParameterValue(storedProcCommand, "@SortColumn", "RecordID");
            database.SetParameterValue(storedProcCommand, "@StrColumn", "*");
            database.SetParameterValue(storedProcCommand, "@Sorts", "DESC");
            database.SetParameterValue(storedProcCommand, "@TableName", "PE_SurveyRecord" + surveyId);
            if (recordId > 0)
            {
                database.SetParameterValue(storedProcCommand, "@Filter", "RecordID=" + recordId);
            }
            database.AddOutParameter(storedProcCommand, "@Total", DbType.Int32, 10);
            IList<SurveyRecordInfo> list = new List<SurveyRecordInfo>();
            using (NullableDataReader reader = new NullableDataReader(database.ExecuteReader(storedProcCommand)))
            {
                DataTable dataTable = new DataTable();
                bool flag = false;
                while (reader.Read())
                {
                    if (!flag)
                    {
                        for (int i = 0; i < reader.FieldCount; i++)
                        {
                            if (reader.GetName(i).Contains("Q") || reader.GetName(i).Contains("Input"))
                            {
                                dataTable.Columns.Add(reader.GetName(i));
                            }
                        }
                        flag = true;
                    }
                    list.Add(SurveyRecordFromrdr(reader, dataTable));
                }
            }
            this.m_TotalOfSurveyRecord = (int) database.GetParameterValue(storedProcCommand, "@Total");
            return list;
        }

        public IList<string> GetQuestionAnswer(int surveyId, string questionId)
        {
            IList<string> list = new List<string>();
            using (NullableDataReader reader = DBHelper.ExecuteReaderSql("select * from PE_SurveyRecord" + surveyId))
            {
                while (reader.Read())
                {
                    list.Add((string) reader[questionId.Trim()]);
                }
            }
            return list;
        }

        public int GetTotalOfSurveyRecord()
        {
            return this.m_TotalOfSurveyRecord;
        }

        public int GetTotalOfSurveyRecord(int surveyId)
        {
            object input = DBHelper.ExecuteScalarSql("select count(*) from PE_SurveyRecord" + surveyId);
            if (input != null)
            {
                return DataConverter.CLng(input);
            }
            return 0;
        }

        public bool SaveSurveyRecord(SurveyRecordInfo surveyrecordinfo)
        {
            StringBuilder builder = new StringBuilder();
            builder.Append("INSERT INTO PE_SurveyRecord");
            builder.Append(surveyrecordinfo.SurveyId.ToString());
            builder.Append(" VALUES(");
            builder.Append(surveyrecordinfo.SurveyId.ToString());
            builder.Append(",'");
            builder.Append(surveyrecordinfo.UserName);
            builder.Append("','");
            builder.Append(surveyrecordinfo.IP);
            builder.Append("','");
            builder.Append(surveyrecordinfo.SubmitTime.ToString());
            builder.Append("'");
            int count = surveyrecordinfo.Answer.Rows.Count;
            if (count != 0)
            {
                for (int i = 0; i < count; i++)
                {
                    builder.Append(",'" + surveyrecordinfo.Answer.Rows[i]["Option"] + "'");
                    if (((DataConverter.CLng(surveyrecordinfo.Answer.Rows[i]["QuestionType"]) == 2) || (DataConverter.CLng(surveyrecordinfo.Answer.Rows[i]["QuestionType"]) == 3)) && (DataConverter.CLng(surveyrecordinfo.Answer.Rows[i]["InputType"]) != 0))
                    {
                        builder.Append(",'" + surveyrecordinfo.Answer.Rows[i]["Input"] + "'");
                    }
                }
            }
            builder.Append(")");
            return DBHelper.ExecuteSql(builder.ToString());
        }

        private static SurveyRecordInfo SurveyRecordFromrdr(NullableDataReader rdr, DataTable dataTable)
        {
            SurveyRecordInfo info = new SurveyRecordInfo();
            info.RecordId = rdr.GetInt32("RecordID");
            info.SurveyId = rdr.GetInt32("SurveyID");
            info.UserName = rdr.GetString("UserName");
            info.IP = rdr.GetString("IP");
            info.SubmitTime = rdr.GetDateTime("SubmitTime");
            DataRow row = dataTable.NewRow();
            for (int i = 0; i < rdr.FieldCount; i++)
            {
                if (rdr.GetName(i).Contains("Q") || rdr.GetName(i).Contains("Input"))
                {
                    row[rdr.GetName(i)] = rdr[i];
                }
            }
            dataTable.Rows.Add(row);
            info.Answer = dataTable;
            return info;
        }
    }
}

⌨️ 快捷键说明

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