Commit b41b170b authored by 黄奎's avatar 黄奎

新增处理类

parent bae83b86
using System;
using VT.FW.DB;
namespace Edu.Model.Entity.Course
{
/// <summary>
/// 课程作业实体类
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Course_Job
{
/// <summary>
/// 主键(作业Id)
/// </summary>
public int JobId { get; set; }
/// <summary>
/// 课程编号
/// </summary>
public int CourseId { get; set; }
/// <summary>
/// 作业名称
/// </summary>
public string JobName { get; set; }
/// <summary>
/// 评分机制(1-百分制,2-自定义)
/// </summary>
public int ScoreType { get; set; }
/// <summary>
/// 题型设置(1-按题型归类,2-不按题型归类)
/// </summary>
public int TopicType { get; set; }
/// <summary>
/// 创建人
/// </summary>
public int CreateBy { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreateTime { get; set; }
/// <summary>
/// 修改人
/// </summary>
public int UpdateBy { get; set; }
/// <summary>
/// 更新时间
/// </summary>
public DateTime UpdateTime { get; set; }
/// <summary>
/// 接收对象(班级)
/// </summary>
public string ReciveClass { get; set; }
/// <summary>
/// 作业开始时间
/// </summary>
public DateTime? StartTime { get; set; }
/// <summary>
/// 作业结束时间
/// </summary>
public DateTime? EndTime { get; set; }
/// <summary>
/// 是否允许学生补交(1-允许)
/// </summary>
public int IsAllowDelay { get; set; }
/// <summary>
/// 及格标准分数
/// </summary>
public int PassBasicScore { get; set; }
/// <summary>
/// 是否允许重做(1-允许)
/// </summary>
public int IsAgain { get; set; }
/// <summary>
/// 重做次数
/// </summary>
public int AgainTimes { get; set; }
/// <summary>
/// 是否多次作答取历史最高成绩(1-是)
/// </summary>
public int IsGetHighScore { get; set; }
/// <summary>
/// 是否允许查看答案(1-允许)
/// </summary>
public int IsLookAnswer { get; set; }
/// <summary>
/// 查看答案类型(1-教师批阅后,2-提交后,3-作业结束后)
/// </summary>
public int LookAnswerType { get; set; }
/// <summary>
/// 是否允许查看分数(1-允许)
/// </summary>
public int IsLookScore { get; set; }
/// <summary>
/// 是否允许查看题型分数(1-允许)
/// </summary>
public int IsLookQTypeScore { get; set; }
/// <summary>
/// 是否允许学生粘贴答案(1-允许)
/// </summary>
public int IsPaste { get; set; }
/// <summary>
/// 学生重做时显示对错(1-显示)
/// </summary>
public int IsAgainShowTrueFalse { get; set; }
/// <summary>
/// 题目乱序(1-是)
/// </summary>
public int IsOutOrder { get; set; }
/// <summary>
/// 是否随机出题(1-是)
/// </summary>
public int IsRandom { get; set; }
/// <summary>
/// 随机出题数量
/// </summary>
public int RandomNum { get; set; }
/// <summary>
/// 是否发送通知(1-发送)
/// </summary>
public int IsSendMsg { get; set; }
/// <summary>
/// 提前多少小时发送
/// </summary>
public int SendMsgHour { get; set; }
/// <summary>
/// 是否允许做作业(1-允许)
/// </summary>
public int IsWork { get; set; }
/// <summary>
/// 完成多少可以做作业
/// </summary>
public int WorkProcess { get; set; }
/// <summary>
/// 填空类型的题目设为主观题(1-是)
/// </summary>
public int IsBlankobj { get; set; }
/// <summary>
/// 填空题答案不区分大小写(1-是)
/// </summary>
public int IsCompletionIngoreCase { get; set; }
/// <summary>
/// 填空题答案忽略符号(1-是)
/// </summary>
public int IsBlankIgnoreComma { get; set; }
/// <summary>
/// 多选题未选全给一半分(1-是)
/// </summary>
public int IsMultiHalfScore { get; set; }
}
}
\ No newline at end of file
using Edu.Common.Enum.Question; using Edu.Common.Enum;
using Edu.Common.Enum.Question;
using System; using System;
using VT.FW.DB; using VT.FW.DB;
...@@ -65,5 +66,15 @@ namespace Edu.Model.Entity.Question ...@@ -65,5 +66,15 @@ namespace Edu.Model.Entity.Question
/// 更新时间 /// 更新时间
/// </summary> /// </summary>
public DateTime UpdateTime { get; set; } public DateTime UpdateTime { get; set; }
/// <summary>
/// 是否同步修改引用此题目的作业和考试(1-是)
/// </summary>
public int IsUpdateJobExam { get; set; }
/// <summary>
/// 删除状态
/// </summary>
public DateStateEnum Status { get; set; }
} }
} }
using System;
namespace Edu.Model.ViewModel.Course
{
/// <summary>
/// 课程作业视图实体类
/// </summary>
[Serializable]
public class RB_Course_Job_ViewModel : Model.Entity.Course.RB_Course_Job
{
}
}
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
using Edu.Model.ViewModel.Course; using Edu.Model.ViewModel.Course;
using Edu.Repository.Course; using Edu.Repository.Course;
using Microsoft.AspNetCore.Mvc.ModelBinding; using Microsoft.AspNetCore.Mvc.ModelBinding;
using MongoDB.Driver.Core.Clusters;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Text; using System.Text;
...@@ -54,6 +55,11 @@ namespace Edu.Module.Course ...@@ -54,6 +55,11 @@ namespace Edu.Module.Course
/// </summary> /// </summary>
private readonly RB_CourseRepository courseRepository = new RB_CourseRepository(); private readonly RB_CourseRepository courseRepository = new RB_CourseRepository();
/// <summary>
/// 课程作业仓储层对象
/// </summary>
private readonly RB_Course_JobRepository courseJobRepository = new RB_Course_JobRepository();
/// <summary> /// <summary>
/// 获取课程列表 /// 获取课程列表
...@@ -495,5 +501,57 @@ namespace Edu.Module.Course ...@@ -495,5 +501,57 @@ namespace Edu.Module.Course
} }
return flag; return flag;
} }
/// <summary>
/// 新增修改课程作业
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public bool SetCourseJobModule(RB_Course_Job_ViewModel model)
{
bool flag = false;
if (model.JobId > 0)
{
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{nameof(RB_Course_Job_ViewModel.JobName),model.JobName },
{nameof(RB_Course_Job_ViewModel.ScoreType),model.ScoreType },
{nameof(RB_Course_Job_ViewModel.TopicType),model.TopicType },
{nameof(RB_Course_Job_ViewModel.ReciveClass),model.ReciveClass },
{nameof(RB_Course_Job_ViewModel.StartTime),model.StartTime },
{nameof(RB_Course_Job_ViewModel.EndTime),model.EndTime },
{nameof(RB_Course_Job_ViewModel.IsAllowDelay),model.IsAllowDelay },
{nameof(RB_Course_Job_ViewModel.PassBasicScore),model.PassBasicScore },
{nameof(RB_Course_Job_ViewModel.IsAgain),model.IsAgain },
{nameof(RB_Course_Job_ViewModel.AgainTimes),model.AgainTimes },
{nameof(RB_Course_Job_ViewModel.IsGetHighScore),model.IsGetHighScore },
{nameof(RB_Course_Job_ViewModel.IsLookAnswer),model.IsLookAnswer },
{nameof(RB_Course_Job_ViewModel.LookAnswerType),model.LookAnswerType },
{nameof(RB_Course_Job_ViewModel.IsLookScore),model.IsLookScore },
{nameof(RB_Course_Job_ViewModel.IsLookQTypeScore),model.IsLookQTypeScore },
{nameof(RB_Course_Job_ViewModel.IsPaste),model.IsPaste },
{nameof(RB_Course_Job_ViewModel.IsAgainShowTrueFalse),model.IsAgainShowTrueFalse },
{nameof(RB_Course_Job_ViewModel.IsOutOrder),model.IsOutOrder },
{nameof(RB_Course_Job_ViewModel.IsRandom),model.IsRandom },
{nameof(RB_Course_Job_ViewModel.RandomNum),model.RandomNum },
{nameof(RB_Course_Job_ViewModel.IsSendMsg),model.IsSendMsg },
{nameof(RB_Course_Job_ViewModel.SendMsgHour),model.SendMsgHour },
{nameof(RB_Course_Job_ViewModel.IsWork),model.IsWork },
{nameof(RB_Course_Job_ViewModel.WorkProcess),model.WorkProcess },
{nameof(RB_Course_Job_ViewModel.IsBlankobj),model.IsBlankobj },
{nameof(RB_Course_Job_ViewModel.IsCompletionIngoreCase),model.IsCompletionIngoreCase },
{nameof(RB_Course_Job_ViewModel.IsBlankIgnoreComma),model.IsBlankIgnoreComma },
{nameof(RB_Course_Job_ViewModel.IsMultiHalfScore),model.IsMultiHalfScore },
};
flag = courseJobRepository.Update(fileds, new WhereHelper(nameof(RB_Course_Job_ViewModel.JobId), model.JobId));
}
else
{
var newId = courseJobRepository.Insert(model);
model.JobId = newId;
flag = newId > 0;
}
return flag;
}
} }
} }
\ No newline at end of file
using Edu.Repository.Question; using Edu.Common.Enum;
using Edu.Model.ViewModel.Question;
using Edu.Repository.Question;
using System.Collections.Generic;
using VT.FW.DB;
namespace Edu.Module.Question namespace Edu.Module.Question
{ {
...@@ -22,5 +25,72 @@ namespace Edu.Module.Question ...@@ -22,5 +25,72 @@ namespace Edu.Module.Question
/// 问题答案仓储层对象 /// 问题答案仓储层对象
/// </summary> /// </summary>
private readonly RB_Question_AnswerRepository question_AnswerRepository = new RB_Question_AnswerRepository(); private readonly RB_Question_AnswerRepository question_AnswerRepository = new RB_Question_AnswerRepository();
/// <summary>
/// 获取题目类型列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Question_Type_ViewModel> GetQuestionTypeListModule(RB_Question_Type_ViewModel query)
{
return question_TypeRepository.GetQuestionTypeListRepository(query);
}
/// <summary>
/// 新增修改题目
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public bool SetQuestionModule(RB_Question_ViewModel model)
{
bool flag;
if (model.QuestionId > 0)
{
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{nameof(RB_Question_ViewModel.Title),model.Title },
{nameof(RB_Question_ViewModel.DifficultyType),(int)model.DifficultyType },
{nameof(RB_Question_ViewModel.AnswerParse),model.AnswerParse },
{nameof(RB_Question_ViewModel.QuestionTypeId),model.QuestionTypeId },
{nameof(RB_Question_ViewModel.Knowledge),model.Knowledge },
{nameof(RB_Question_ViewModel.IsUpdateJobExam),model.IsUpdateJobExam },
{nameof(RB_Question_ViewModel.UpdateBy),model.UpdateBy },
{nameof(RB_Question_ViewModel.UpdateTime),model.UpdateTime },
};
flag = questionRepository.Update(fileds, new WhereHelper(nameof(RB_Question_ViewModel.QuestionId), model.QuestionId));
}
else
{
var newId = questionRepository.Insert(model);
model.QuestionId = newId;
flag = newId > 0;
}
return flag;
}
/// <summary>
/// 删除问题
/// </summary>
/// <param name="QuestionId"></param>
/// <returns></returns>
public bool RemoveQuestionModule(object QuestionId)
{
Dictionary<string, object> fileds = new Dictionary<string, object>()
{
{nameof(RB_Question_ViewModel.Status),(int )DateStateEnum.Delete},
};
bool flag = questionRepository.Update(fileds, new WhereHelper(nameof(RB_Question_ViewModel.QuestionId), QuestionId));
return flag;
}
/// <summary>
/// 根据编号获取问题实体
/// </summary>
/// <param name="QuestionId"></param>
/// <returns></returns>
public RB_Question_ViewModel GetQuestionModule(object QuestionId)
{
return questionRepository.GetEntity<RB_Question_ViewModel>(QuestionId);
}
} }
} }
using Edu.Model.ViewModel.Course;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Edu.Repository.Course
{
public class RB_Course_JobRepository : BaseRepository<Model.Entity.Course.RB_Course_Job>
{
/// <summary>
/// 获取课程作业分页列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="rowsCount"></param>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Course_Job_ViewModel> GetCourseJobPageListRepository(int pageIndex, int pageSize, out long rowsCount, RB_Course_Job_ViewModel query)
{
rowsCount = 0;
if (query == null)
{
return new List<RB_Course_Job_ViewModel>();
}
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT *
FROM RB_Course_Job
WHERE 1=1
");
if (query.CourseId > 0)
{
builder.AppendFormat(" AND {0}={1} ", nameof(RB_Course_Job_ViewModel.CourseId), query.CourseId);
}
return GetPage<RB_Course_Job_ViewModel>(pageIndex, pageSize, out rowsCount, builder.ToString()).ToList();
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment