Beispiel #1
0
        /// <summary>
        /// 课程详情
        /// <para>作    者:zhiwei.Tang</para>
        /// <para>创建时间:2018-09-15</para>
        /// </summary>
        /// <param name="courseId">课程编号</param>
        /// <returns>课程详情数据</returns>
        /// <exception cref="BussinessException">
        /// 异常ID:1,异常描述:未获取到课程数据
        /// </exception>
        public async Task <CourseResponse> GetCourseDetailsAsync(long courseId)
        {
            var course = await _courseRepository.Value.LoadTaskByCourseId(_companyId, courseId);

            if (course == null)
            {
                throw new BussinessException(ModelType.Default, 1);
            }
            CourseResponse courseResponse = AutoMapper.Mapper.Map <CourseResponse>(course);

            List <TblDatCourseLevel> courseLevel = new TblDatCourseLevelRepository()
                                                   .Get(this._companyId)
                                                   .Result
                                                   .OrderBy(x => x.LevelCode)
                                                   .ToList();

            var courseLv = await new ViewCourseLevelMiddleRepository().Get(new List <long> {
                courseId
            });

            foreach (var lv in courseLevel)
            {
                CourseLevelMiddleResponse courseLevelMiddle = new CourseLevelMiddleResponse();
                ViewCourseLevelMiddle     levelMiddle       = courseLv.FirstOrDefault(x => x.CourseLevelId == lv.CourseLevelId);
                if (levelMiddle == null)
                {
                    if (lv.IsDisabled)
                    {
                        continue;
                    }
                    courseLevelMiddle.CourseLevelId   = lv.CourseLevelId;
                    courseLevelMiddle.CourseLevelName = lv.LevelCnName;
                    courseLevelMiddle.SAge            = courseLevelMiddle.EAge = courseLevelMiddle.Duration = string.Empty;
                    courseLevelMiddle.IsCheck         = false;
                }
                else
                {
                    courseLevelMiddle.CourseLevelId   = lv.CourseLevelId;
                    courseLevelMiddle.CourseLevelName = lv.LevelCnName;
                    courseLevelMiddle.SAge            = levelMiddle.BeginAge.ToString();
                    courseLevelMiddle.EAge            = levelMiddle.EndAge.ToString();
                    courseLevelMiddle.Duration        = levelMiddle.Duration.ToString();
                    courseLevelMiddle.IsCheck         = true;
                }
                courseResponse.CourseLevels.Add(courseLevelMiddle);
            }

            return(courseResponse);
        }
        /// <summary>
        /// 修改一个课程级别
        /// <para>作     者:Huang GaoLiang </para>
        /// <para>创建时间:2018-09-14 </para>
        /// </summary>
        /// <param name="dto">课程等级实体</param>
        /// <exception cref="BussinessException">
        /// 异常ID:11,课程级别编号不能为空
        /// </exception>
        public async Task Modify(CourseLevelAddRequest dto)
        {
            if (dto.CourseLevelId <= 0)
            {
                throw new BussinessException((byte)ModelType.Datum, 11);
            }

            // 1、数据校验
            await CourseLeaveVerification(dto);

            // 2、根据课程级别id查询课程级别信息
            TblDatCourseLevel courseLevel = new TblDatCourseLevelRepository().GetCourseLevelById(dto.CompanyId, dto.CourseLevelId);

            bool isAsyncCourseLevelName = !dto.LevelCnName.Equals(courseLevel.LevelCnName);

            if (courseLevel != null)
            {
                courseLevel.LevelCode   = dto.LevelCode;
                courseLevel.LevelCnName = dto.LevelCnName;
                courseLevel.LevelEnName = dto.LevelEnName;
                courseLevel.UpdateTime  = DateTime.Now;
            }

            // 3、修改数据库数据
            await new TblDatCourseLevelRepository().UpdateTask(courseLevel);

            // 4、级别中文名称发生变化,则同步学习计划级别中文名称
            if (isAsyncCourseLevelName)
            {
                Dictionary <long, string> keyValues = new Dictionary <long, string>();
                keyValues.Add(courseLevel.CourseLevelId, courseLevel.LevelCnName);

                // 学习计划同步级别中文名称
                StudyPlanService.AsyncCourseLevelName(keyValues);
            }
        }