/// <summary> /// 添加单元(讲义)数据 /// </summary> /// <param name="unit"></param> /// <returns>讲义id</returns> public int Add(DtoLessonUnit unit) { var lessonUnit = new Yw_CourseLessonUnit() { Ycu_CourseId = unit.CourseId, Ycu_LessonId = unit.LessonId, Ycu_Index = unit.Index, Ycu_Name = unit.Name, Ycu_Screenshot = unit.Screenshot, Ycu_Status = 1, Ycu_Creator = unit.Creator }; LessonServer.InsertUnits(lessonUnit); UnitServer.InsertSteps(new Yw_LessonUnitStepActions() { Yls_CourseId = unit.CourseId, Yls_LessonId = unit.LessonId, Yls_UnitId = lessonUnit.Ycu_Id, Yls_Status = 1, Yls_UnitIndex = unit.Index, Yls_SubjectIds = GetLessonQuestionIdStr(unit.Steps), Steps = unit.Steps }); return(lessonUnit.Ycu_Id); }
/// <summary> /// 根据单元(讲义)id查询单元(讲义)信息 /// </summary> /// <param name="unitId"></param> /// <returns></returns> public DtoLessonUnit SelectUnit(int unitId, int processId) { DtoLessonUnit unit = new DtoLessonUnit(); var unitInfo = LessonServer.SelectUnit(unitId); var unitSteps = (Yw_LessonUnitStepActions)UnitStepFactory.Create(UnitServer.SelectSteps(unitId)); if (unitInfo != null) { unit.Id = unitInfo.Ycu_Id; unit.CourseId = unitInfo.Ycu_CourseId; unit.LessonId = unitInfo.Ycu_LessonId; unit.Index = unitInfo.Ycu_Index; unit.Name = unitInfo.Ycu_Name; unit.Screenshot = unitInfo.Ycu_Screenshot; unit.Status = unitInfo.Ycu_Status; unit.Creator = unitInfo.Ycu_Creator; unit.CreateTime = unitInfo.Ycu_CreateTime; unit.Editor = unitInfo.Ycu_Editor; unit.UpdateTime = unitInfo.Ycu_UpdateTime; if (unitSteps != null) { unit.Steps = unitSteps.Steps; } if (processId != 0) //如果有审批id { var approve = ApproveServer.SelectByUnitIdAndProcessID(unitId, processId); //获取最后一个审批意见 if (approve != null) //如果审批意见不为空,添加审批内容 { unit.Approve = approve.Yup_Remark; unit.ApproveStatus = approve.Yup_Status; } } } return(unit); }
/// <summary> /// 根据课程id获取课时信息 /// </summary> /// <param name="courseId"></param> /// <returns></returns> public List <DtoLesson> GetLessons(int courseId) { var list = LessonServer.GetLessonsWithProcessInfo(courseId).ToList(); #region 循环获取所有的id List <int> ids = new List <int>(); foreach (var lesson in list) { if (!ids.Contains(lesson.Producer)) { ids.Add(lesson.Producer); } if (!ids.Contains(lesson.Approver)) { ids.Add(lesson.Approver); } if (!ids.Contains(lesson.Creator)) { ids.Add(lesson.Creator); } if (!ids.Contains(lesson.Editor)) { ids.Add(lesson.Editor); } } #endregion #region 循环给人员名称赋值 Dictionary <int, string> names = EmployeeServer.GetEmployeeNameByIds(ids); foreach (var lesson in list) { if (names.ContainsKey(lesson.Producer)) { lesson.ProducerName = names[lesson.Producer]; } if (names.ContainsKey(lesson.Approver)) { lesson.ApproverName = names[lesson.Approver]; } if (names.ContainsKey(lesson.Creator)) { lesson.CreatorName = names[lesson.Creator]; } if (names.ContainsKey(lesson.Editor)) { lesson.EditorName = names[lesson.Editor]; } } #endregion return(list); }
/// <summary> /// 修改单元讲义数据 /// </summary> /// <param name="unit"></param> /// <returns></returns> public void Update(DtoLessonUnit unit) { var lessonUnit = LessonServer.SelectUnit(unit.Id); var unitSteps = (Yw_LessonUnitStepActions)UnitStepFactory.Create(UnitServer.SelectSteps(unit.Id)); lessonUnit.Ycu_Name = unit.Name; lessonUnit.Ycu_Screenshot = unit.Screenshot; lessonUnit.Ycu_Editor = unit.Editor; lessonUnit.Ycu_Index = unit.Index; if (unit.Steps != null) { unitSteps.Yls_UnitId = lessonUnit.Ycu_Id; unitSteps.Yls_UnitIndex = unit.Index; unitSteps.Steps = unit.Steps; unitSteps.Yls_Coins = unit.Coins; unitSteps.Yls_SubjectIds = GetLessonQuestionIdStr(unit.Steps); } LessonServer.UpdateUnits(lessonUnit); UnitServer.UpdateSteps(unitSteps); }
/// <summary> /// 根据课时id获取单元(讲义)信息 /// </summary> /// <param name="lessonid"></param> /// <returns></returns> public List <DtoLessonUnit> SelectUnitsByLesson(int lessonid, int processid) { var unitInfo = LessonServer.SelectUnits(lessonid); //查询课时的所有单元 var approve = ApproveServer.SelectByProcessID(processid); //查询课时最后一次审批数据 return(unitInfo.Select(unit => { var a = approve.Where(s => s.Yup_UnitId == unit.Ycu_Id).FirstOrDefault();//获取审批数据 return new DtoLessonUnit() { Id = unit.Ycu_Id, CourseId = unit.Ycu_CourseId, LessonId = unit.Ycu_LessonId, Index = unit.Ycu_Index, Name = unit.Ycu_Name, Screenshot = unit.Ycu_Screenshot, Status = unit.Ycu_Status, Creator = unit.Ycu_Creator, ApproveStatus = a == null ? 0 : a.Yup_Status }; }).ToList()); }
public Yw_CourseLesson GetLesson(int lessonId) { return(LessonServer.Select(lessonId)); }
/// <summary> /// 根据课时id查询课时信息,(含审批id) /// </summary> /// <param name="lessonid"></param> /// <returns></returns> public DtoLesson Select(int lessonid) { return(LessonServer.SelectByLessonId(lessonid)); }
/// <summary> /// 根据条件及分页信息查询审批过程中的课时信息 /// </summary> /// <param name="search"></param> /// <returns></returns> public List <DtoLessonApprove> GetLessonApproveByPage(DtoApproveLessonSearch search) { return(LessonServer.GetApproveLessonByPage(search).ToList()); }
/// <summary> /// 更新课程状态 /// </summary> /// <param name="lessonid">课程id</param> /// <param name="status">课程状态</param> /// <param name="editor">操作人</param> /// <returns>返回课时操作流程id(如果为0表示不能修改)</returns> public int UpdateLessonStatus(int lessonid, LessonStatusEnum status, int editor) { var lesson = LessonServer.Select(lessonid); if (lesson != null) { LessonStatusEnum oldStatus = (LessonStatusEnum)lesson.Ycl_Status; LessonStatusActionEnum action = 0;//枚举值定义为0表示不能修改 //未编辑只能改为制作中,动作为编辑 if (oldStatus == LessonStatusEnum.未编辑 && status == LessonStatusEnum.制作中) { action = LessonStatusActionEnum.编辑; lesson.Ycl_Producer = editor;//记录制作人 } //制作中只能改为待审批,动作为完成编辑 else if (oldStatus == LessonStatusEnum.制作中 && status == LessonStatusEnum.待审批) { action = LessonStatusActionEnum.完成编辑; lesson.Ycl_Producer = editor; //记录制作人 lesson.Ycl_Approver = 0; //清空审批人 } //待审批只能改为审批中,动作为审批 else if (oldStatus == LessonStatusEnum.待审批 && status == LessonStatusEnum.审批中) { action = LessonStatusActionEnum.审批; } //审批中能改为合格与不合格,动作为审批 else if (oldStatus == LessonStatusEnum.审批中 && (status == LessonStatusEnum.合格 || status == LessonStatusEnum.合格)) { action = LessonStatusActionEnum.审批; lesson.Ycl_Approver = editor; //记录审批人 if (status == LessonStatusEnum.合格) //如果是合格状态,就会修改题目数据 { List <int> questionids = new LessonUnitBll().SelectLessonQuestions(lesson.Ycl_Id); //查询出本课时中所有的题目 new CourseSubjectRelBll().AddSubjectToLesson(lesson, questionids); //将题目id添加到课程题目对应表 } } //合格和不合格只能改为制作中,动作重新编辑 else if ((oldStatus == LessonStatusEnum.合格 || oldStatus == LessonStatusEnum.合格) && status == LessonStatusEnum.制作中) { action = LessonStatusActionEnum.重新编辑; lesson.Ycl_Producer = editor; //记录制作人 lesson.Ycl_Approver = 0; //清空审批人 } if ((int)action != 0)//如果枚举值不为0 则表示可以进行修改 { //修改课时状态并更新 lesson.Ycl_Status = (int)status; lesson.Ycl_Editor = editor; lesson.Ycl_UpdateTime = DateTime.Now; LessonServer.Update(lesson); //创建审批对象 Yw_CourseLessonProcess lessonPorcess = new Yw_CourseLessonProcess { Ylp_CourseId = lesson.Ycl_CourseId, Ylp_LessonId = lesson.Ycl_Id, Ylp_Status = lesson.Ycl_Status, Ylp_Action = (int)action, Ylp_CreateTime = DateTime.Now, Ylp_Operator = editor, Ylp_Remark = $"课程“{lesson.Ycl_Name}”状态从 {oldStatus} 改为 {status}" }; //添加课时操作流程 LessonProcessServer.Insert(lessonPorcess); //返回课时操作流程id return(lessonPorcess.Ylp_Id); } } return(0); }
/// <summary> /// 根据课程id获取课时数量 /// </summary> /// <param name="courseId"></param> /// <returns></returns> public int GetLessonsCountByCourse(int courseId) { return(LessonServer.SelectCountByCourse(courseId)); }
/// <summary> /// 移动单元(讲义)位置 /// </summary> /// <param name="unitid"></param> /// <param name="toIndex"></param> public void MoveUnit(int unitid, int toIndex) { LessonServer.MoveUnits(unitid, toIndex); }
/// <summary> /// 删除单元讲义数据 /// </summary> /// <param name="unitId"></param> public void Delete(int unitId) { LessonServer.DeleteUnits(unitId); }