コード例 #1
0
        /// <summary>
        /// 数据重复校验
        /// <para>作     者:Huang GaoLiang </para>
        /// <para>创建时间:2018-09-15 </para>
        /// </summary>
        /// <param name="courseLevel">课程级别id</param>
        /// <param name="courseLevelList">课程级别集合</param>
        /// <exception cref="AMS.Core.BussinessException">
        /// 异常ID:16,系统中已经存在该课程级别,不能重复添加
        /// </exception>
        private static void CheckAddOrUpdate(TblDatCourseLevel courseLevel, List <TblDatCourseLevel> courseLevelList)
        {
            // 如果课程级别大于0
            if (courseLevel.CourseLevelId > 0)
            {
                courseLevelList = courseLevelList.Where(m => m.CourseLevelId != courseLevel.CourseLevelId).ToList();
            }

            // 根据课程级别编号查询课程级别信息
            bool levelCodeIsExist = courseLevelList.Any(m => m.LevelCode == courseLevel.LevelCode);

            if (levelCodeIsExist)
            {
                throw new BussinessException((byte)ModelType.Datum, 16, $"课程级别代码\"{courseLevel.LevelCode }\"已存在");
            }

            bool levelCnNameIsExist = courseLevelList.Any(m => m.LevelCnName == courseLevel.LevelCnName);

            if (levelCnNameIsExist)
            {
                throw new BussinessException((byte)ModelType.Datum, 16, $"课程级别中文名\"{courseLevel.LevelCnName }\"已存在");
            }

            bool levelEnNameIsExist = courseLevelList.Any(m => m.LevelEnName == courseLevel.LevelEnName);

            if (levelEnNameIsExist)
            {
                throw new BussinessException((byte)ModelType.Datum, 16, $"课程级别英文名\"{courseLevel.LevelEnName }\"已存在");
            }
        }
コード例 #2
0
        /// <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);
        }
コード例 #3
0
        /// <summary>
        /// 启用/禁用
        /// <para>作     者:Huang GaoLiang </para>
        /// <para>创建时间:2018-09-15 </para>
        /// </summary>
        /// <param name="courseLevelId">课程等级id</param>
        /// <param name="isDisabled">启用:false;禁用:true</param>
        /// <exception cref="AMS.Core.BussinessException">
        /// 异常ID:11,课程级别编号不能为空
        /// 异常ID:12,系统中没有此课程级别
        /// </exception>
        private async Task SetDisabled(long courseLevelId, bool isDisabled = false)
        {
            // 如果课程级别编号小于或者等于0
            if (courseLevelId <= 0)
            {
                throw new BussinessException((byte)ModelType.Datum, 11);
            }

            // 根据课程级别编号查询课程级别信息
            TblDatCourseLevel courseLeave = _courseLevelRepository.Value.Load(courseLevelId);

            if (courseLeave == null)
            {
                throw new BussinessException((byte)ModelType.Datum, 12);
            }
            courseLeave.IsDisabled = isDisabled;
            await _courseLevelRepository.Value.UpdateTask(courseLeave);
        }
コード例 #4
0
        /// <summary>
        /// 删除
        /// <para>作     者:Huang GaoLiang </para>
        /// <para>创建时间:2018-09-14 </para>
        /// </summary>
        ///  <param name="courseLevelId">课程级别编号</param>
        /// <exception cref="BussinessException">
        /// 异常ID:17,删除失败
        /// 异常ID:18,本级别已被使用,不可删除
        /// </exception>
        public async Task Remove(long courseLevelId)
        {
            // 1、校验课程等级有没有被使用
            bool used = await _courseLevelMiddleRepository.Value.CourseLevelIsUse(courseLevelId);

            if (used)
            {
                throw new BussinessException((byte)ModelType.Datum, 18);
            }

            // 2、根据课程等级id查询实体
            TblDatCourseLevel courseLevel = await _courseLevelRepository.Value.LoadTask(courseLevelId);

            // 3、删除
            int result = await _courseLevelRepository.Value.DeleteAsync(courseLevel);

            if (result < 0)
            {
                throw new BussinessException((byte)ModelType.Datum, 17);
            }
        }
コード例 #5
0
        /// <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);
        }