/// <summary> /// 取得課程詳細資訊 - 新的雲端版web專用 /// </summary> /// <param name="circleKey"></param> /// <returns></returns> public Infrastructure.ViewModel.Backend.LearningCircleGetResponse GetLearningCircleInfo(string circleKey) { var db = _uow.DbContext; var leanringCircleInfo = GetDetailByOuterKey(circleKey.ToLower()); if (leanringCircleInfo == null) { return(null); } var responseData = new Infrastructure.ViewModel.Backend.LearningCircleGetResponse() { CircleKey = circleKey, Description = leanringCircleInfo.Description, Name = leanringCircleInfo.Name, EndDate = leanringCircleInfo.EndDate.Value.ToLocalTime(), StartDate = leanringCircleInfo.StartDate.Value.ToLocalTime(), Objective = leanringCircleInfo.Objective, Remark = leanringCircleInfo.ReMark, DomainId = leanringCircleInfo.ModuleName, DomainName = leanringCircleInfo.ModuleName }; var memberService = new MemberService(); //處理老師名單 var teachers = memberService.GetTeacherList(circleKey.ToLower()); if (teachers.FirstOrDefault() != null) { var teachersName = teachers.Select(t => t.Name).ToList(); responseData.Teachers = new List <string>(); foreach (var teacher in teachersName) { responseData.Teachers.Add(teacher); } } var weekTableService = new WeekTableService(); var ClassWeekTableDatas = weekTableService.GetByCirclekey(circleKey); if (ClassWeekTableDatas.WeekTable.FirstOrDefault() != null) { responseData.WeekTable = new List <Infrastructure.ViewModel.CourseManage.GetAllMyCourseWeekTable>(); foreach (var weekTableData in ClassWeekTableDatas.WeekTable) { var data = new Infrastructure.ViewModel.CourseManage.GetAllMyCourseWeekTable() { Week = weekTableData.Week, Place = weekTableData.Place, StartPeriod = weekTableData.StartPeriod.Value, EndPeriod = weekTableData.EndPeriod.Value, StartTime = string.Format("{0:HH}:{0:mm}", weekTableData.StartTime.ToLocalTime()), EndTime = string.Format("{0:HH}:{0:mm}", weekTableData.EndTime.ToLocalTime()) }; responseData.WeekTable.Add(data); } } return(responseData); }
/// <summary> /// 取得傳統周課表 /// </summary> /// <param name="learningCircleId"></param> /// <returns></returns> public IEnumerable <Infrastructure.ViewModel.CourseManage.GetAllMyCourseWeekTable> GetAllMyCourseWeekTableData(int learningCircleId) { var datas = GetByLearningCircleId(learningCircleId); var response = new List <Infrastructure.ViewModel.CourseManage.GetAllMyCourseWeekTable>(); if (datas == null) { return(null); } foreach (var data in datas) { var responseData = new Infrastructure.ViewModel.CourseManage.GetAllMyCourseWeekTable() { EndPeriod = data.EndPeriod.HasValue ? data.EndPeriod.Value : 0, StartPeriod = data.StartPeriod.HasValue ? data.StartPeriod.Value : 0, EndTime = string.Format("{0:HH}:{1:mm}", data.EndTime.ToLocalTime(), data.EndTime.ToLocalTime()), StartTime = string.Format("{0:HH}:{1:mm}", data.StartTime.ToLocalTime(), data.StartTime.ToLocalTime()), Place = data.Place, Week = data.Week }; response.Add(responseData); } return(response); }
/// <summary> /// 取得APP的GetCourseDetail的資訊 /// </summary> /// <param name="token"></param> /// <returns></returns> public Infrastructure.ViewModel.CourseManage.GetCourseDetailResponse APPGetCourseDetail(string token, string circleKey) { var response = new Infrastructure.ViewModel.CourseManage.GetCourseDetailResponse(); var memberService = new MemberService(); var tokenService = new TokenService(); var checkToken = tokenService.GetTokenInfo(token); if (checkToken == null) { return(response); } var members = memberService.GetLearningCircleMembers(circleKey); if (members == null) { return(response); } response.MemberCount = members.Count(); response.Edit = false; response.EditImpression = false; response.CollInfo = null; var learningCircleInfo = GetDetailByOuterKey(circleKey); if (learningCircleInfo == null) { return(response); } //處理老師名單 var teachers = memberService.GetTeacherList(circleKey); if (teachers.FirstOrDefault() != null) { var teachersName = teachers.Select(t => t.Name).ToList(); foreach (var teacher in teachersName) { response.ClassTeachers += teacher + "、"; } response.ClassTeachers = response.ClassTeachers.Substring(0, response.ClassTeachers.Length - 1); } if (learningCircleInfo.StartDate.HasValue && learningCircleInfo.EndDate.HasValue) { response.ClassPeriod = string.Format("{0} ~ {1}", learningCircleInfo.StartDate.Value.ToLocalTime().ToString("yyyy/MM/dd"), learningCircleInfo.EndDate.Value.ToLocalTime().ToString("yyyy/MM/dd")); response.StartDate = learningCircleInfo.StartDate.Value.ToLocalTime(); response.EndDate = learningCircleInfo.EndDate.Value.ToLocalTime(); } var weekTableService = new WeekTableService(); var ClassWeekTableDatas = weekTableService.GetByCirclekey(circleKey); response.WeekTable = new List <Infrastructure.ViewModel.CourseManage.GetAllMyCourseWeekTable>(); if (ClassWeekTableDatas.WeekTable.FirstOrDefault() != null) { foreach (var weekTableData in ClassWeekTableDatas.WeekTable) { var data = new Infrastructure.ViewModel.CourseManage.GetAllMyCourseWeekTable() { Week = weekTableData.Week, Place = weekTableData.Place, StartPeriod = weekTableData.StartPeriod.Value, EndPeriod = weekTableData.EndPeriod.Value, StartTime = string.Format("{0:HH}:{0:mm}", weekTableData.StartTime.ToLocalTime()), EndTime = string.Format("{0:HH}:{0:mm}", weekTableData.EndTime.ToLocalTime()) }; response.WeekTable.Add(data); } } response.ClassSubjectName = learningCircleInfo.Name; response.ClassId = learningCircleInfo.LearningOuterKey; response.Introduction = learningCircleInfo.Description; response.ClassName = learningCircleInfo.Name; response.ClassDomainId = null; response.ClassDomainName = null; response.Note = learningCircleInfo.ReMark; response.ClassTarget = learningCircleInfo.Objective; return(response); }