/// <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);
        }
Exemple #3
0
        /// <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());
        }
Exemple #6
0
 public Yw_CourseLesson GetLesson(int lessonId)
 {
     return(LessonServer.Select(lessonId));
 }
Exemple #7
0
 /// <summary>
 /// 根据课时id查询课时信息,(含审批id)
 /// </summary>
 /// <param name="lessonid"></param>
 /// <returns></returns>
 public DtoLesson Select(int lessonid)
 {
     return(LessonServer.SelectByLessonId(lessonid));
 }
Exemple #8
0
 /// <summary>
 /// 根据条件及分页信息查询审批过程中的课时信息
 /// </summary>
 /// <param name="search"></param>
 /// <returns></returns>
 public List <DtoLessonApprove> GetLessonApproveByPage(DtoApproveLessonSearch search)
 {
     return(LessonServer.GetApproveLessonByPage(search).ToList());
 }
Exemple #9
0
        /// <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);
        }
Exemple #10
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);
 }