using Edu.AOP.CustomerAttribute;
using Edu.Common.Enum;
using Edu.Common.Enum.Question;
using Edu.Common.Plugin;
using Edu.Model.ViewModel.Question;
using Edu.Repository.Question;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
using VT.FW.DB;
namespace Edu.Module.Question
{
///
/// 题库处理类
///
public class QuestionModule
{
///
/// 题目类型仓储层对象
///
private readonly RB_Question_TypeRepository question_TypeRepository = new RB_Question_TypeRepository();
///
/// 问题仓储层对象
///
private readonly RB_QuestionRepository questionRepository = new RB_QuestionRepository();
///
/// 知识点仓储层对象
///
private readonly RB_Question_PointRepository question_PointRepository = new RB_Question_PointRepository();
///
/// 问题解析处理类
///
private readonly AnalysisQuestionTypeModule analysisQuestion = new AnalysisQuestionTypeModule();
///
/// 题库仓储层对象
///
private readonly RB_Question_BankRepository question_BankRepository = new RB_Question_BankRepository();
///
/// 获取题库分页列表
///
///
///
///
///
///
public List GetQuestionBankPageListModule(int pageIndex, int pageSize, out long rowsCount, RB_Question_Bank_ViewModel query)
{
return question_BankRepository.GetQuestionBankPageListRepository(pageIndex, pageSize, out rowsCount, query);
}
///
/// 新增修改题库
///
///
///
public bool SetQuestionBankModule(RB_Question_Bank_ViewModel model)
{
bool flag;
if (model.BankId > 0)
{
Dictionary fileds = new Dictionary()
{
{nameof(RB_Question_Bank_ViewModel.BankName), model.BankName },
{nameof(RB_Question_Bank_ViewModel.BankNo), model.BankNo },
{nameof(RB_Question_Bank_ViewModel.BankType), model.BankType },
};
flag = question_BankRepository.Update(fileds, new WhereHelper(nameof(RB_Question_Bank_ViewModel.BankId), model.BankId));
}
else
{
var newId = question_BankRepository.Insert(model);
model.BankId = newId;
flag = newId > 0;
}
return flag;
}
///
/// 根据编号获取题库
///
///
///
public RB_Question_Bank_ViewModel GetQuestionBankModule(object BankId)
{
return question_BankRepository.GetEntity(BankId);
}
///
/// 删除题库
///
///
///
///
public bool RemoveQuestionBankModule(int bankId, int status)
{
Dictionary fileds = new Dictionary()
{
{nameof(RB_Question_Bank_ViewModel.Status),status }
};
return question_BankRepository.Update(fileds, new WhereHelper(nameof(RB_Question_Bank_ViewModel.BankId), bankId));
}
///
/// 获取题目类型列表
///
///
///
public List GetQuestionTypeListModule(RB_Question_Type_ViewModel query)
{
return question_TypeRepository.GetQuestionTypeListRepository(query);
}
///
/// 获取问题分页列表
///
///
///
///
///
///
public List GetQuestionPageListModule(int pageIndex, int pageSize, out long rowsCount, RB_Question_ViewModel query)
{
var list = questionRepository.GetQuestionPageListRepository(pageIndex, pageSize, out rowsCount, query);
if (list != null && list.Count > 0)
{
foreach (var item in list)
{
if (item.QuestionTypeKey == "reading-comprehensio" || item.QuestionTypeKey == "listening" || item.QuestionTypeKey == "cloze")
{
var obj = ParsingQuestionModule(item.QuestionTypeKey, item.QuestionContent);
item.QuestionContent = Common.Plugin.JsonHelper.Serialize(obj);
}
}
}
return list;
}
///
/// 获取问题列表
///
///
///
public List GetQuestionListModule(RB_Question_ViewModel query)
{
return questionRepository.GetQuestionListRepository(query);
}
///
/// 根据题库编号获取题库题型分类列表
///
///
///
public List