/// <summary>
        /// 描述:根据学期获取本学期正式班级里面的课程信息
        /// <para>作    者:瞿琦</para>
        /// <para>创建时间:2018-10-17</para>
        /// </summary>
        /// <param name="termId">学期id</param>
        /// <returns>已通过课程信息列表</returns>

        public static List <ClassCourseResponse> GetTermClassCourseInfo(long termId)
        {
            var termClassList = DefaultClassService.GetClasssByTermId(termId);
            //所有课程
            var courseList = new TblDatCourseRepository().LoadList(x => x.IsDisabled == false);
            //校区所属课程

            var termClassCourseList = (from x1 in courseList
                                       join x2 in termClassList on x1.CourseId equals x2.CourseId
                                       select new ClassCourseResponse
            {
                CourseId = x1.CourseId,
                ClassCnName = x1.ClassCnName
            }).ToList();

            return(termClassCourseList);
        }
예제 #2
0
        /// <summary>
        /// 复制正式学期排课数据到草稿
        /// <para>作    者:zhiwei.Tang</para>
        /// <para>创建时间:2018-09-25</para>
        /// </summary>
        /// <returns>得到审核Id</returns>
        private long CopyClassToAutClass()
        {
            //获取所有班级信息
            var classes = DefaultClassService.GetClasssByTermId(_termId);
            //获取班级所有上课时间段
            var classTime = DefaultClassService.GetClassTimeByClassId(classes.Select(x => x.ClassId));

            TblAutAudit autAudit = new TblAutAudit
            {
                AuditId        = IdGenerator.NextId(),
                CreateTime     = DateTime.Now,
                AuditDate      = DateTime.Now,
                AuditStatus    = (int)AuditStatus.WaitAudit,
                AuditUserId    = string.Empty,
                AuditUserName  = string.Empty,
                BizType        = (int)AuditBusinessType.TermCourseTimetable,
                DataExt        = string.Empty,
                DataExtVersion = string.Empty,
                ExtField1      = _termId.ToString(),
                ExtField2      = string.Empty,
                FlowNo         = string.Empty,
                UpdateTime     = DateTime.Now,
                SchoolId       = base.TblAutAudit.SchoolId,
                CreateUserId   = string.Empty,
                CreateUserName = string.Empty
            };

            List <TblAutClass> autClasses = classes.Select(x => new TblAutClass
            {
                AutClassId   = IdGenerator.NextId(),
                AuditId      = autAudit.AuditId,
                ClassId      = x.ClassId,
                ClassNo      = x.ClassNo,
                ClassRoomId  = x.ClassRoomId,
                CourseId     = x.CourseId,
                CourseLeveId = x.CourseLeveId,
                CourseNum    = x.CourseNum,
                CreateTime   = DateTime.Now,
                DataStatus   = 0,
                RoomCourseId = x.RoomCourseId,
                StudentsNum  = x.StudentsNum,
                TeacherId    = x.TeacherId,
                TermId       = x.TermId,
                UpdateTime   = DateTime.Now,
                SchoolId     = base.TblAutAudit.SchoolId
            }).ToList();

            List <TblAutClassTime> autClassTime = classTime.Select(x => new TblAutClassTime
            {
                AutClassTimeId = IdGenerator.NextId(),
                AuditId        = autAudit.AuditId,
                ClassId        = x.ClassId,
                ClassTimeId    = x.ClassTimeId,
                CreateTime     = DateTime.Now,
                DataStatus     = 0,
                SchoolTimeId   = x.SchoolTimeId,
                SchoolId       = base.TblAutAudit.SchoolId
            }).ToList();

            //TODO:事物
            Task[] tasks = new Task[3];
            tasks[0] = _tblAutAuditRepository.AddTask(autAudit);
            tasks[1] = _tblAutClassRepository.Value.SaveTask(autClasses);
            tasks[2] = _tblAutClassTimeRepository.Value.SaveTask(autClassTime);

            Task.WaitAll(tasks);

            return(autAudit.AuditId);
        }