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

📄 question.cs

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

    public sealed class Question
    {
        private static readonly IQuestion dal = DataAccess.CreateQuestion();

        private Question()
        {
        }

        public static bool Add(QuestionInfo info)
        {
            CheckInput(info);
            return dal.Add(info);
        }

        public static bool BatchSetSolved(string questionIdList)
        {
            return (DataValidator.IsValidId(questionIdList) && dal.BatchSetSolved(questionIdList));
        }

        public static bool BatchSetTypeId(string questionIdList, int typeId)
        {
            return (DataValidator.IsValidId(questionIdList) && dal.BatchSetTypeId(questionIdList, typeId));
        }

        private static void CheckInput(QuestionInfo info)
        {
            info.ErrorCode = ReplaceBadCode(info.ErrorCode);
            info.QuestionContent = ReplaceBadCode(info.QuestionContent);
        }

        public static bool Delete(int questionId)
        {
            return dal.Delete(questionId);
        }

        public static bool Delete(string questionIdList)
        {
            return (DataValidator.IsValidId(questionIdList) && dal.Delete(questionIdList));
        }

        public static int GetMaxId()
        {
            return dal.GetMaxId();
        }

        public static IList<QuestionInfo> GetQuestion(int startRowIndex, int maximumRows, int searchType, string keyword)
        {
            switch (searchType)
            {
                case 7:
                case 8:
                case 9:
                    if (string.IsNullOrEmpty(keyword))
                    {
                        searchType = 0;
                    }
                    break;
            }
            return dal.GetQuestion(startRowIndex, maximumRows, searchType, DataSecurity.FilterBadChar(keyword));
        }

        public static QuestionInfo GetQuestionById(int id)
        {
            return dal.GetQuestionById(id);
        }

        public static int GetQuestionStatCount()
        {
            return dal.GetQuestionStatCount();
        }

        public static DataTable GetQuestionStatistic(int startRowIndex, int maximumRows)
        {
            return dal.GetQuestionStatistic(startRowIndex, maximumRows);
        }

        public static int GetQuestionTotal()
        {
            return dal.GetQuestionTotal();
        }

        public static int GetQuestionTotal(int searchType, string keyword)
        {
            return GetQuestionTotal();
        }

        public static int GetQuestionTotal(string userName, int searchType, string keyword)
        {
            return GetQuestionTotal();
        }

        public static IList<QuestionInfo> GetQuestonsByUser(string userName, int startRowIndex, int maximumRows, int searchType, string keyword)
        {
            return dal.GetQuestonsByUser(userName, startRowIndex, maximumRows, searchType, DataSecurity.FilterBadChar(keyword));
        }

        public static IList<QuestionInfo> GetSolvedQuestions(int startRowIndex, int maximumRows, int searchType, string keyword)
        {
            return dal.GetSolvedQuestions(startRowIndex, maximumRows, searchType, DataSecurity.FilterBadChar(keyword));
        }

        public static int GetTotalScore()
        {
            return dal.GetTotalScore();
        }

        public static int GetUserPointByUserName(string userName)
        {
            return dal.GetUserPointByUserName(userName);
        }

        public static string ReplaceBadCode(string text)
        {
            RegexOptions options = RegexOptions.Multiline | RegexOptions.IgnoreCase;
            text = Regex.Replace(text, @"(<\s*form)", "&lt;form", options);
            text = Regex.Replace(text, @"(</\s*form)", "&lt;/form", options);
            text = Regex.Replace(text, @"(<\s*script)", "&lt;script", options);
            text = Regex.Replace(text, @"(</\s*script)", "&lt;/script", options);
            text = Regex.Replace(text, "(id=[\"']\\w*[\"'])", "", options);
            text = Regex.Replace(text, "(name=[\"']\\w*[\"'])", "", options);
            return text.Replace("<%", "&lt;%").Replace("%>", "%&gt;");
        }

        public static bool SaveQuestionSetting(int questionId, int typeId, int score, bool isPublic, bool isSolved)
        {
            return dal.SaveQuestionSetting(questionId, typeId, score, isPublic, isSolved);
        }

        public static bool Update(QuestionInfo info)
        {
            CheckInput(info);
            return dal.Update(info);
        }

        public static bool Update(int questionId, string replyCreator, DateTime replyTime, bool isReply, bool isPublic, bool isSolved, int score)
        {
            return dal.Update(questionId, replyCreator, replyTime, isReply, isPublic, isSolved, score);
        }

        public static bool UpdateCreateTime(DateTime dt, int questionId)
        {
            return dal.UpdateCreateTime(dt, questionId);
        }
    }
}

⌨️ 快捷键说明

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