📄 question.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)", "<form", options);
text = Regex.Replace(text, @"(</\s*form)", "</form", options);
text = Regex.Replace(text, @"(<\s*script)", "<script", options);
text = Regex.Replace(text, @"(</\s*script)", "</script", options);
text = Regex.Replace(text, "(id=[\"']\\w*[\"'])", "", options);
text = Regex.Replace(text, "(name=[\"']\\w*[\"'])", "", options);
return text.Replace("<%", "<%").Replace("%>", "%>");
}
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 + -