Example #1
0
        public IHttpActionResult PutCourseInformation(int id, CourseInformation courseInformation)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != courseInformation.CourseInformationID)
            {
                return(BadRequest());
            }

            db.Entry(courseInformation).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!CourseInformationExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
        /// <summary>
        /// Maps the response from the web service search to a ui friendly class.
        /// </summary>
        /// <param name="output">The output from the web service.</param>
        /// <returns>a liost of CourseDetail objects.</returns>
        private List <CourseInformation> CreateCourseDetails(CourseDetailOutput output)
        {
            List <CourseInformation> courseDetails = new List <CourseInformation>();

            foreach (CourseDetailStructure courseDetailStructure in output.CourseDetails)
            {
                CourseInformation courseInfo = new CourseInformation();

                if (courseDetailStructure.Course != null)
                {
                    MapCourseData(courseInfo, courseDetailStructure);
                }

                if (courseDetailStructure.Provider != null)
                {
                    MapProviderData(courseInfo, courseDetailStructure);
                }

                if (courseDetailStructure.Opportunity != null)
                {
                    MapOpportunityData(courseInfo, courseDetailStructure);
                }

                if (courseDetailStructure.Venue != null)
                {
                    MapVenueData(courseInfo, courseDetailStructure);
                }

                courseDetails.Add(courseInfo);
            }

            return(courseDetails);
        }
        /// <summary>
        /// Maps the Provider response data to our ui friendly structure.
        /// </summary>
        /// <param name="courseInfo">The class to populate, must not be null.</param>
        /// <param name="courseDetailStructure">The response from the web service</param>
        private void MapProviderData(CourseInformation courseInfo, CourseDetailStructure courseDetailStructure)
        {
            if (courseDetailStructure.Provider != null)
            {
                ProviderSearchResult provider = new ProviderSearchResult();

                provider.ProviderID    = courseDetailStructure.Provider.ProviderID;
                provider.ProviderName  = courseDetailStructure.Provider.ProviderName;
                provider.AddressLine1  = courseDetailStructure.Provider.ProviderAddress.Address_line_1;
                provider.AddressLine2  = courseDetailStructure.Provider.ProviderAddress.Address_line_2;
                provider.Town          = courseDetailStructure.Provider.ProviderAddress.Town;
                provider.County        = courseDetailStructure.Provider.ProviderAddress.County;
                provider.Postcode      = courseDetailStructure.Provider.ProviderAddress.PostCode;
                provider.Email         = courseDetailStructure.Provider.Email;
                provider.Website       = courseDetailStructure.Provider.Website;
                provider.Phone         = courseDetailStructure.Provider.Phone;
                provider.Fax           = courseDetailStructure.Provider.Fax;
                provider.UKPRN         = courseDetailStructure.Provider.UKPRN;
                provider.UPIN          = courseDetailStructure.Provider.UPIN;
                provider.TFPlusLoans   = courseDetailStructure.Provider.TFPlusLoans;
                provider.DFE1619Funded = courseDetailStructure.Provider.DFE1619Funded;
                provider.FEChoices_LearnerDestination   = courseDetailStructure.Provider.FEChoices_LearnerDestinationSpecified ? courseDetailStructure.Provider.FEChoices_LearnerDestination : (Double?)null;
                provider.FEChoices_LearnerSatisfaction  = courseDetailStructure.Provider.FEChoices_LearnerSatisfactionSpecified ? courseDetailStructure.Provider.FEChoices_LearnerSatisfaction : (Double?)null;
                provider.FEChoices_EmployerSatisfaction = courseDetailStructure.Provider.FEChoices_EmployerSatisfactionSpecified ? courseDetailStructure.Provider.FEChoices_EmployerSatisfaction : (Double?)null;

                courseInfo.Provider = provider;
            }
        }
        /// <summary>
        /// Maps the venue response data to our ui friendly structure.
        /// </summary>
        /// <param name="courseInfo">The class to populate, must not be null.</param>
        /// <param name="courseDetailStructure">The response from the web service</param>
        private void MapVenueData(CourseInformation courseInfo, CourseDetailStructure courseDetailStructure)
        {
            if (courseDetailStructure.Venue != null &&
                courseDetailStructure.Venue.Count() > 0)
            {
                courseInfo.Venues = new List <Venue>();

                foreach (VenueDetail venueDetail in courseDetailStructure.Venue)
                {
                    Venue venue = new Venue();

                    venue.VenueId      = venueDetail.VenueID;
                    venue.VenueName    = venueDetail.VenueName;
                    venue.AddressLine1 = venueDetail.VenueAddress.Address_line_1;
                    venue.AddressLine2 = venueDetail.VenueAddress.Address_line_2;
                    venue.Town         = venueDetail.VenueAddress.Town;
                    venue.County       = venueDetail.VenueAddress.County;
                    venue.Postcode     = venueDetail.VenueAddress.PostCode;
                    venue.Email        = venueDetail.Email;
                    venue.Facilities   = venueDetail.Facilities;
                    venue.Fax          = venueDetail.Fax;
                    venue.Phone        = venueDetail.Phone;
                    venue.Website      = venueDetail.Website;
                    venue.Latitude     = venueDetail.VenueAddress.Latitude;
                    venue.Longitude    = venueDetail.VenueAddress.Longitude;

                    courseInfo.Venues.Add(venue);
                }
            }
        }
        private void LOGIN_button1_Click(object sender, EventArgs e)
        {
            CourseInformation aCourseInformation = new CourseInformation();

            aCourseInformation.Show();
            this.Hide();
        }
Example #6
0
        public void EventInfo()
        {
            var id = new Guid();
            var dt = DateTime.Now;
            EventInformation cons = new CourseInformation("test-room", dt, TimeSpan.Zero, "test-teacher", id);
            EventInformation test = new CourseInformation("test-room", dt, TimeSpan.Zero, "test-teacher", id);

            Assert.IsTrue(cons.Equals(test));
            Assert.IsTrue(cons == test == cons.Equals(test));
            Assert.IsTrue(cons != test == !cons.Equals(test));

            cons = new CourseInformation("cons-room", dt, TimeSpan.Zero, "test-teacher", id);
            Assert.IsFalse(cons.Equals(test));
            Assert.IsTrue(cons == test == cons.Equals(test));
            Assert.IsTrue(cons != test == !cons.Equals(test));

            cons = new ExamInformation("test-room", dt, TimeSpan.Zero, id);
            Assert.IsFalse(cons.Equals(test));
            Assert.IsTrue(cons == test == cons.Equals(test));
            Assert.IsTrue(cons != test == !cons.Equals(test));

            test = new ExamInformation("test-room", dt, TimeSpan.Zero, id);
            Assert.IsTrue(cons.Equals(test));
            Assert.IsTrue(cons == test == cons.Equals(test));
            Assert.IsTrue(cons != test == !cons.Equals(test));

            cons = new ExamInformation("cons-room", dt, TimeSpan.Zero, id);
            Assert.IsFalse(cons.Equals(test));
            Assert.IsTrue(cons == test == cons.Equals(test));
            Assert.IsTrue(cons != test == !cons.Equals(test));
        }
Example #7
0
 private void CreateCourseInformationArrayAndFillItWithAppropriateData(out CourseInformation[] cfs)
 {
     try
     {
         MainCurriculum curriculum = new MainCurriculum();
         cfs = new CourseInformation[curriculum.Courses.Count];
         for (int i = 0; i < cfs.Length; i++)
         {
             var item             = curriculum.Courses[i];
             CourseInformation cf = new CourseInformation
             {
                 Id    = item.Id,
                 Title = item.Title,
                 CorrespondingTitleInDesUni = item.CorrespondingTitleInDesUni,
                 CodeInDesUni   = item.CodeInDesUni,
                 IsPassed       = item.IsPassed,
                 NumberOfFailed = item.NumberOfFailed,
             };
             cfs[i] = cf;
         }
     }
     catch
     {
         cfs = null;
     }
 }
Example #8
0
        public IHttpActionResult GetCourseInformation(int id)
        {
            CourseInformation courseInformation = db.CourseInformations.Find(id);

            if (courseInformation == null)
            {
                return(NotFound());
            }

            return(Ok(courseInformation));
        }
Example #9
0
        public IHttpActionResult PostCourseInformation(CourseInformation courseInformation)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.CourseInformations.Add(courseInformation);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = courseInformation.CourseInformationID }, courseInformation));
        }
Example #10
0
        // GET: CourseInformations/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            CourseInformation courseInformation = db.CourseInformations.Find(id);

            if (courseInformation == null)
            {
                return(HttpNotFound());
            }
            return(View(courseInformation));
        }
Example #11
0
        public IHttpActionResult DeleteCourseInformation(int id)
        {
            CourseInformation courseInformation = db.CourseInformations.Find(id);

            if (courseInformation == null)
            {
                return(NotFound());
            }

            db.CourseInformations.Remove(courseInformation);
            db.SaveChanges();

            return(Ok(courseInformation));
        }
        public IActionResult GetAllSectionCourseInfoByFacultyId(int id)
        {
            try
            {
                var allSections = _repository.Section.GetAllSections();
                allSectionCourseInfo = new List <CourseInformation>();
                if (allSections.Equals(null))
                {
                    _logger.LogError($"No sections were found");
                    return(NotFound());
                }

                foreach (var current in allSections)
                {
                    _logger.LogInfo("Current: " + current.Faculty_Id + " Faculty ID In: " + id);
                    if (current.Faculty_Id == id)
                    {
                        CourseInformation currentCourse = new CourseInformation();

                        var sectionId          = current.Section_Id;
                        var currentSectionInfo = _repository.Section.GetSectionById(sectionId);

                        currentCourse.Course_Id   = currentSectionInfo.Course_Id;
                        currentCourse.Semester    = currentSectionInfo.Semester;
                        currentCourse.Designation = currentSectionInfo.Designation;
                        currentCourse.Faculty_Id  = currentSectionInfo.Faculty_Id;
                        currentCourse.Section_Id  = currentSectionInfo.Section_Id;
                        currentCourse.End_Date    = currentSectionInfo.End_Date;
                        currentCourse.Start_Date  = currentSectionInfo.Start_Date;
                        currentCourse.Vacancy     = currentSectionInfo.Vacancy;

                        var currentCourseInfo = _repository.Course.GetCourseById(currentCourse.Course_Id);

                        currentCourse.Course_Name = currentCourseInfo.Course_Name;
                        currentCourse.Dept_Id     = currentCourseInfo.Dept_Id;
                        currentCourse.Credits     = currentCourseInfo.Credits;

                        allSectionCourseInfo.Add(currentCourse);
                    }
                }

                _logger.LogInfo($"Returned All Section Course Information");
                return(Ok(allSectionCourseInfo));
            }
            catch (Exception ex)
            {
                _logger.LogError($"Something went wrong inside GetEnrollment ById action: {ex.Message}");
                return(StatusCode(500, "Internal server error"));
            }
        }
Example #13
0
        public IActionResult GetEnrollmentByStudentId(int id)
        {
            try
            {
                _logger.LogInfo($"Look Enrollment with id: {id}");
                var enrollments = _repository.Enrollment.GetEnrollmentsByStudentId(id);
                allCourseInfo = new List <CourseInformation>();

                foreach (Enrollment current in enrollments)
                {
                    CourseInformation currentCourse = new CourseInformation();

                    var sectionId          = current.Section_Id;
                    var currentSectionInfo = _repository.Section.GetSectionById(sectionId);

                    currentCourse.Course_Id   = currentSectionInfo.Course_Id;
                    currentCourse.Semester    = currentSectionInfo.Semester;
                    currentCourse.Designation = currentSectionInfo.Designation;
                    currentCourse.Faculty_Id  = currentSectionInfo.Faculty_Id;
                    currentCourse.Section_Id  = currentSectionInfo.Section_Id;
                    currentCourse.End_Date    = currentSectionInfo.End_Date;
                    currentCourse.Start_Date  = currentSectionInfo.Start_Date;
                    currentCourse.Vacancy     = currentSectionInfo.Vacancy;

                    var currentCourseInfo = _repository.Course.GetCourseById(currentCourse.Course_Id);

                    currentCourse.Course_Name = currentCourseInfo.Course_Name;
                    currentCourse.Dept_Id     = currentCourseInfo.Dept_Id;
                    currentCourse.Credits     = currentCourseInfo.Credits;

                    allCourseInfo.Add(currentCourse);
                }

                if (enrollments.Equals(null))
                {
                    _logger.LogError($"Enrollment with id: {id}, hasn't been found in db.");
                    return(NotFound());
                }
                else
                {
                    _logger.LogInfo($"Returned Enrollment with id: {id}");
                    return(Ok(allCourseInfo));
                }
            }
            catch (Exception ex)
            {
                _logger.LogError($"Something went wrong inside GetEnrollment ById action: {ex.Message}");
                return(StatusCode(500, "Internal server error"));
            }
        }
        public List <CourseInformation> GetAllSectionsBySemesterYear(string semester, int year, int deptId)
        {
            try
            {
                var allSections             = _repository.Section.GetAllSections();
                var allSectionsSemesterYear = new List <CourseInformation>();
                if (allSections.Equals(null))
                {
                    _logger.LogError($"No sections were found");
                    return(null);
                }

                foreach (var current in allSections)
                {
                    var currentCourse = new CourseInformation();

                    if (current.Semester == semester && current.Start_Date.Year == year)
                    {
                        var sectionId          = current.Section_Id;
                        var currentSectionInfo = _repository.Section.GetSectionById(sectionId);

                        currentCourse.Course_Id   = currentSectionInfo.Course_Id;
                        currentCourse.Semester    = currentSectionInfo.Semester;
                        currentCourse.Designation = currentSectionInfo.Designation;
                        currentCourse.Faculty_Id  = currentSectionInfo.Faculty_Id;
                        currentCourse.Section_Id  = currentSectionInfo.Section_Id;
                        currentCourse.End_Date    = currentSectionInfo.End_Date;
                        currentCourse.Start_Date  = currentSectionInfo.Start_Date;
                        currentCourse.Vacancy     = currentSectionInfo.Vacancy;

                        var currentCourseInfo = _repository.Course.GetCourseById(currentCourse.Course_Id);

                        currentCourse.Course_Name = currentCourseInfo.Course_Name;
                        currentCourse.Dept_Id     = currentCourseInfo.Dept_Id;
                        currentCourse.Credits     = currentCourseInfo.Credits;

                        if (currentCourse.Dept_Id == deptId)
                        {
                            allSectionsSemesterYear.Add(currentCourse);
                        }
                    }
                }
                return(allSectionsSemesterYear);
            }
            catch (Exception ex)
            {
                _logger.LogError($"Something went wrong inside GetEnrollment ById action: {ex.Message}");
                return(null);
            }
        }
Example #15
0
        public void ContentChanging()
        {
            var id     = new Guid();
            var cons   = new Course("test-course", id);
            var test   = new Course("test-course", id);
            var course = new CourseInformation("test-room", DateTime.Now, TimeSpan.Zero, "test-teacher", id);
            var exam   = new ExamInformation("test-room", DateTime.Now, TimeSpan.Zero, id);

            Assert.AreEqual(cons, test);

            Assert.IsFalse(test.Contains(course));
            Assert.IsFalse(test.Contains(exam));

            Assert.IsTrue(test.AddCourse(course));
            Assert.IsFalse(test.AddCourse(course));

            Assert.IsTrue(test.Contains(course));
            Assert.IsFalse(test.Contains(exam));

            Assert.IsTrue(test.AddExam(exam));
            Assert.IsFalse(test.AddExam(exam));

            Assert.IsTrue(test.Contains(course));
            Assert.IsTrue(test.Contains(exam));

            Assert.AreNotEqual(cons, test);

            Assert.IsTrue(test.DeleteCourse(course));
            Assert.IsFalse(test.DeleteCourse(course));

            Assert.IsTrue(test.DeleteExam(exam));
            Assert.IsFalse(test.DeleteExam(exam));

            Assert.AreEqual(cons, test);

            Assert.IsFalse(test.Contains(course));
            Assert.IsFalse(test.Contains(exam));

            Assert.IsTrue(test.AddCourse(course));
            Assert.IsTrue(test.AddExam(exam));

            Assert.IsTrue(test.Contains(course));
            Assert.IsTrue(test.Contains(exam));
        }
        /// <summary>
        /// Maps the course response data to our ui friendly structure.
        /// </summary>
        /// <param name="courseInfo">The class to populate, must not be null.</param>
        /// <param name="courseDetailStructure">The response from the web service</param>
        private void MapCourseData(CourseInformation courseInfo, CourseDetailStructure courseDetailStructure)
        {
            courseInfo.CourseId            = courseDetailStructure.Course.CourseID;
            courseInfo.ProviderCourseTitle = courseDetailStructure.Course.CourseTitle;
            courseInfo.Summary             = courseDetailStructure.Course.CourseSummary;
            courseInfo.URL               = courseDetailStructure.Course.URL;
            courseInfo.BookingURL        = courseDetailStructure.Course.BookingURL;
            courseInfo.EntryRequirements = courseDetailStructure.Course.EntryRequirements;
            courseInfo.AssessmentMethod  = courseDetailStructure.Course.AssessmentMethod;
            courseInfo.EquipmentRequired = courseDetailStructure.Course.EquipmentRequired;
            courseInfo.TariffRequired    = courseDetailStructure.Course.TariffRequired;
            courseInfo.LearningAimRef    = courseDetailStructure.Course.QualificationReference;

            // referred LAD data
            courseInfo.AwardingOrganisationName             = courseDetailStructure.Course.AwardingBody;
            courseInfo.Level2EntitlementCategoryDescription = courseDetailStructure.Course.Level2EntitlementCategoryDesc;
            courseInfo.Level3EntitlementCategoryDescription = courseDetailStructure.Course.Level3EntitlementCategoryDesc;
            courseInfo.SectorLeadBodyDescription            = courseDetailStructure.Course.SectorLeadBodyDesc;
            courseInfo.AccreditationStartDate       = courseDetailStructure.Course.AccreditationStartDate;
            courseInfo.AccreditationEndDate         = courseDetailStructure.Course.AccreditationEndDate;
            courseInfo.CertificationEndDate         = courseDetailStructure.Course.CertificationEndDate;
            courseInfo.CreditValue                  = courseDetailStructure.Course.CreditValue;
            courseInfo.QCAGuidedLearningHours       = courseDetailStructure.Course.QCAGuidedLearningHours;
            courseInfo.IndependentLivingSkills      = courseDetailStructure.Course.IndependentLivingSkills.ToString();
            courseInfo.SkillsforLifeFlag            = courseDetailStructure.Course.SkillsForLifeFlag.ToString();
            courseInfo.SkillsForLifeTypeDescription = courseDetailStructure.Course.SkillsForLifeTypeDesc;
            courseInfo.ERAppStatus                  = courseDetailStructure.Course.ERAppStatus.ToString();
            courseInfo.ERTTGStatus                  = courseDetailStructure.Course.ERTTGStatus.ToString();
            courseInfo.AdultLRStatus                = courseDetailStructure.Course.AdultLRStatus.ToString();
            courseInfo.OtherFundingNonFundingStatus = courseDetailStructure.Course.OtherFundingNonFundedStatus.ToString();

            // conditionally derived data
            courseInfo.DataType = courseDetailStructure.Course.DataType.ToString();
            courseInfo.QualificationReferenceAuthority = courseDetailStructure.Course.QualificationReferenceAuthority;
            courseInfo.QualificationReference          = courseDetailStructure.Course.QualificationReference;
            courseInfo.QualificationTitle             = courseDetailStructure.Course.QualificationTitle;
            courseInfo.QualificationType              = courseDetailStructure.Course.QualificationType;
            courseInfo.QualificationLevel             = courseDetailStructure.Course.QualificationLevel;
            courseInfo.LDCSCategoryCodeApplicability1 = courseDetailStructure.Course.LDCS.CatCode1.LDCSDesc;
            courseInfo.LDCSCategoryCodeApplicability2 = courseDetailStructure.Course.LDCS.CatCode2.LDCSDesc;
        }
        /// <summary>
        /// Maps the Opportunity response data to our ui friendly structure.
        /// </summary>
        /// <param name="courseInfo">The class to populate, must not be null.</param>
        /// <param name="courseDetailStructure">The response from the web service</param>
        private void MapOpportunityData(CourseInformation courseInfo, CourseDetailStructure courseDetailStructure)
        {
            if (courseDetailStructure.Opportunity != null &&
                courseDetailStructure.Opportunity.Count() > 0)
            {
                courseInfo.Opportunities = new List <Opportunity>();

                foreach (OpportunityDetail opportunity in courseDetailStructure.Opportunity)
                {
                    Opportunity opp = new Opportunity();

                    if (opportunity.A10 != null)
                    {
                        opp.A10Field = string.Join(",", opportunity.A10);
                    }
                    opp.ApplicationAcceptedThroughoutYear = opportunity.ApplicationAcceptedThroughoutYear.ToString();
                    opp.ApplyFromDate         = opportunity.ApplyFromDate;
                    opp.ApplyTo               = opportunity.ApplyTo;
                    opp.ApplyUntilDate        = opportunity.ApplyUntilDate;
                    opp.ApplyUntilDescription = opportunity.ApplyUntilDesc;
                    opp.AttendanceMode        = opportunity.AttendanceMode;
                    opp.AttendancePattern     = opportunity.AttendancePattern;

                    if (opportunity.Duration != null)
                    {
                        opp.DurationDescription = opportunity.Duration.DurationDescription;
                        opp.DurationUnit        = opportunity.Duration.DurationUnit;
                        opp.DurationValue       = opportunity.Duration.DurationValue;
                    }

                    opp.EndDate               = opportunity.EndDate;
                    opp.EnquireTo             = opportunity.EnquireTo;
                    opp.LanguageOfAssessment  = opportunity.LanguageOfAssessment;
                    opp.LanguageOfInstruction = opportunity.LanguageOfInstruction;

                    // region name and venue id are in the Items collection
                    // need to check for type to work out which field we populate
                    if (opportunity.Items.Count() > 0)
                    {
                        for (Int32 i = 0; i < opportunity.Items.Length; i++)
                        {
                            switch (opportunity.ItemsElementName[i])
                            {
                            case ItemsChoiceType.VenueID:
                                opp.VenueId = opportunity.Items[i];
                                break;

                            case ItemsChoiceType.RegionName:
                                opp.RegionName = opportunity.Items[i];
                                break;
                            }
                        }
                    }

                    opp.OpportunityId         = opportunity.OpportunityId;
                    opp.PlacesAvailable       = opportunity.PlacesAvailable;
                    opp.Price                 = opportunity.Price;
                    opp.PriceDescription      = opportunity.PriceDesc;
                    opp.ProviderOpportunityId = opportunity.ProviderOpportunityId;

                    if (opportunity.StartDate.ItemElementName.ToString() == "Date")
                    {
                        if (opportunity.StartDate.Item != null)
                        {
                            opp.StartDate = opportunity.StartDate.Item.ToString();
                        }
                    }
                    else
                    {
                        if (opportunity.StartDate.Item != null)
                        {
                            opp.StartDateDescription = opportunity.StartDate.Item.ToString();
                        }
                    }

                    opp.StudyMode = opportunity.StudyMode;
                    opp.Timetable = opportunity.Timetable;
                    opp.Url       = opportunity.URL;


                    courseInfo.Opportunities.Add(opp);
                }
            }
        }
Example #18
0
        /// <summary>
        /// 获取的排课详情
        /// <para>作    者:zhiwei.Tang</para>
        /// <para>创建时间:2018-11-06</para>
        /// </summary>
        /// <param name="enrollOrderItemId">报名课程订单Id</param>
        /// <returns>学生报名一个课程的排课详细信息</returns>
        public MakeLessonDetailResponse GetMakeLessonDetail(long enrollOrderItemId)
        {
            MakeLessonDetailResponse res = new MakeLessonDetailResponse
            {
                CourseInfos = new List <CourseInformation>()
            };

            TblOdrEnrollOrderItem enrollOrderItem = _enrollOrderItemRepository.Load(enrollOrderItemId);
            TblOdrEnrollOrder     enrollOrder     = _enrollOrderRepository.Load(enrollOrderItem.EnrollOrderId);

            TblDatCourse course = CourseService.GetByCourseId(enrollOrderItem.CourseId);

            res.RegisterInfo = new RegisterInformation()
            {
                ClassTimes    = enrollOrderItem.ClassTimes,
                ClassTimesUse = enrollOrderItem.ClassTimesUse,
                CourseName    = string.Empty,
                LevelName     = CourseLevelService.GetById(enrollOrderItem.CourseLevelId)?.LevelCnName ?? string.Empty,
                Year          = enrollOrderItem.Year,
                CourseType    = CourseType.Elective,
                TermTypeId    = enrollOrderItem.TermTypeId,
                TermTypeName  = TermTypeService.GetTermTypeName(enrollOrderItem.TermTypeId),
                EnrollDate    = enrollOrder.CreateTime
            };

            if (course != null)
            {
                res.RegisterInfo.CourseName = course.ShortName;
                res.RegisterInfo.CourseType = CourseType.Compulsory;
            }

            List <TblTimMakeLesson> makeLessons =
                _makeLessonRepository.GetUnconfirmedMakeLessonList(enrollOrderItem.EnrollOrderItemId);

            if (makeLessons.Any())
            {
                List <long> classIds = makeLessons.Select(x => x.ClassId).ToList();

                List <TblDatClass> classes = DefaultClassService.GetClassByClassIdAsync(classIds).Result;

                List <ViewRoomCourse> classRooms = ClassRoomService.GetClassRoomBySchoolId(enrollOrder.SchoolId);

                //老师
                var teacherList = TeachService.GetTeachers();

                foreach (var makeLesson in makeLessons)
                {
                    var classInfo        = classes.FirstOrDefault(x => x.ClassId == makeLesson.ClassId);
                    var classSchoolTimes = new DefaultClassService(classInfo.ClassId).ClassSchoolTimes;
                    //老师信息
                    var teacher = teacherList.FirstOrDefault(x => x.TeacherId == classInfo.TeacherId);

                    CourseInformation courseInformation = new CourseInformation
                    {
                        ClassId        = classInfo.ClassId,
                        Year           = enrollOrderItem.Year,
                        ClassNo        = classInfo.ClassNo,
                        ClassTimesUse  = makeLesson.ClassTimes,
                        CourseName     = course?.ShortName ?? string.Empty,
                        FirstClassTime = makeLesson.FirstClassTime,
                        RoomNo         = classRooms.FirstOrDefault(x => x.ClassRoomId == classInfo.ClassRoomId)?.RoomNo ?? string.Empty,
                        LevelName      = CourseLevelService.GetById(classInfo.CourseLeveId)?.LevelCnName ?? string.Empty,
                        TeacherName    = teacher?.TeacherName ?? string.Empty,
                        TermName       = TermService.GetTermByTermId(classInfo.TermId)?.TermName ?? string.Empty,
                        Week           = classSchoolTimes.Select(x => x.WeekDay)
                                         .Distinct()
                                         .OrderBy(x => x)
                                         .Select(x => WeekDayConvert.IntToString(x))
                                         .ToList(),
                        PeriodTime = new List <string>()
                    };

                    foreach (var item in classSchoolTimes)
                    {
                        string time = item.BeginTime + "-" + item.EndTime;
                        if (courseInformation.PeriodTime.Any(x => x == time))
                        {
                            continue;
                        }
                        courseInformation.PeriodTime.Add(time);
                    }

                    res.CourseInfos.Add(courseInformation);
                }
            }

            return(res);
        }