/// <summary>
        /// 课程级别数据验证
        /// <para>作     者:Huang GaoLiang </para>
        /// <para>创建时间:2018-09-14 </para>
        /// </summary>
        /// <param name="dto">课程级别实体</param>
        /// <exception cref="BussinessException">
        /// 异常ID:13,课程级别代码不能为空
        /// 异常ID:14,课程级别名称(中文)不能为空
        /// 异常ID:15,课程级别名称(英文)不能为空
        /// </exception>
        private async Task CourseLeaveVerification(CourseLevelAddRequest dto)
        {
            // 判断等级编号是否为空
            if (string.IsNullOrWhiteSpace(dto.LevelCode))
            {
                throw new BussinessException((byte)ModelType.Datum, 13);
            }

            // 判断等级中文名称是否为空
            if (string.IsNullOrWhiteSpace(dto.LevelCnName))
            {
                throw new BussinessException((byte)ModelType.Datum, 14);
            }

            // 判断等级英文名称是否为空
            if (string.IsNullOrWhiteSpace(dto.LevelEnName))
            {
                throw new BussinessException((byte)ModelType.Datum, 15);
            }

            TblDatCourseLevel courseLevel = Mapper.Map <CourseLevelAddRequest, TblDatCourseLevel>(dto);

            List <TblDatCourseLevel> courseLevelList = await new TblDatCourseLevelRepository().Get(this._companyId);

            // 重复校验(数据不能重复)
            CheckAddOrUpdate(courseLevel, courseLevelList);
        }
        /// <summary>
        /// 添加一个课程级别
        /// <para>作     者:Huang GaoLiang </para>
        /// <para>创建时间:2018-09-14 </para>
        /// </summary>
        /// <param name="dto">添加课程等级请求数据</param>
        public async Task Add(CourseLevelAddRequest dto)
        {
            // 1、数据校验
            await CourseLeaveVerification(dto);

            // 2、准备数据
            TblDatCourseLevel courseLevelInfo = new TblDatCourseLevel
            {
                CourseLevelId = IdGenerator.NextId(),
                CompanyId     = this._companyId,
                LevelCode     = dto.LevelCode,
                LevelCnName   = dto.LevelCnName,
                LevelEnName   = dto.LevelEnName,
                IsDisabled    = false,
                CreateTime    = DateTime.Now,
                UpdateTime    = DateTime.Now
            };

            // 3、写入数据库
            await new TblDatCourseLevelRepository().AddTask(courseLevelInfo);
        }
        /// <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);
            }
        }
Esempio n. 4
0
 public async Task Put([FromBody] CourseLevelAddRequest request)
 {
     request.CompanyId = base.CurrentUser.CompanyId;
     await new CourseLevelService(base.CurrentUser.CompanyId).Modify(request);
 }
Esempio n. 5
0
 public async Task Post([FromBody] CourseLevelAddRequest request)
 {
     await new CourseLevelService(base.CurrentUser.CompanyId).Add(request);
 }