/// <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);
        }
Example #2
0
        /// <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);
        }