Example #1
0
        /// <summary>
        /// 搜索学习计划信息
        /// </summary>
        /// <param name="pageSize"></param>
        /// <param name="pageIndex"></param>
        /// <param name="keyword"></param>
        /// <param name="status"></param>
        /// <returns></returns>
        public PagerModel <StudyPlanResponse> Search(int pageSize, int pageIndex, string keyword, int?status)
        {
            StudyPlanSearch search = new StudyPlanSearch(pageIndex, pageSize, keyword, status);

            var result = search.Search();

            var userIds = result.Table.Select(p => p.UserId);

            var names = UsersAccessor.GetUsernames(userIds);

            List <StudyPlanResponse> list = new List <StudyPlanResponse>();

            foreach (var item in result.Table)
            {
                var temp = new StudyPlanResponse(item);

                string userName = names.ContainsKey(item.UserId) ? names[item.UserId] : string.Empty;

                temp.Creator = userName;

                list.Add(temp);
            }

            return(new PagerModel <StudyPlanResponse>
            {
                Count = result.Count,
                Index = result.Index,
                Size = result.Size,
                Table = list
            });
        }
        /// <summary>
        /// 根据出生日期,生成每季节对应的学习计划
        /// <para>作    者:郭伟佳</para>
        /// <para>创建时间:2018-11-29</para>
        /// </summary>
        /// <param name="studyPlanTermList">获取校区学期类型信息</param>
        /// <param name="birthday">出生日期</param>
        /// <returns>学生课程计划列表</returns>
        private List <StudyPlanResponse> GetStudyPlanBySeasons(IEnumerable <TblOdrStudyPlanTerm> studyPlanTermList, DateTime birthday)
        {
            List <StudyPlanResponse> result = new List <StudyPlanResponse>();                                            //学生课程计划列表
            var studyPlanList = _repository.Value.GetList(_schoolId).Result;                                             //校区课程信息
            List <SeasonType>   seasonList = GetSeasonList();                                                            //季节
            TblOdrStudyPlanTerm term       = null;                                                                       //报名学习计划学期信息
            int year     = 0;                                                                                            //年份
            int maxValue = 3;                                                                                            //年份界限值

            //从当前年份开始,以年份界限进行循环,生成年份的学习计划课程
            for (int i = 0; i < maxValue; i++)
            {
                year = DateTime.Now.Year + i;
                var studyPlanTerms = studyPlanTermList.Where(a => a.Year == year);
                StudyPlanResponse studyPlanResponse = new StudyPlanResponse {
                    Year = year
                };
                //循环四个季节,生成季节的学习计划课程
                foreach (var season in seasonList)
                {
                    switch (season)
                    {
                    case SeasonType.Spring:     //春
                        term = studyPlanTerms.FirstOrDefault(a => a.Year == year && a.TermTypeId == ClientConfigManager.AppsettingsConfig.TermType.Spring);
                        studyPlanResponse.Data.Add(GenerateStudyPlanTerm(term, studyPlanList, birthday, season.ToString()));
                        break;

                    case SeasonType.Summer:    //夏
                        term = studyPlanTerms.FirstOrDefault(a => a.Year == year && a.TermTypeId == ClientConfigManager.AppsettingsConfig.TermType.Summer);
                        studyPlanResponse.Data.Add(GenerateStudyPlanTerm(term, 4, season.ToString()));
                        break;

                    case SeasonType.Autumn:    //秋
                        term = studyPlanTerms.FirstOrDefault(a => a.Year == year && a.TermTypeId == ClientConfigManager.AppsettingsConfig.TermType.Autumn);
                        studyPlanResponse.Data.Add(GenerateStudyPlanTerm(term, studyPlanList, birthday, season.ToString()));
                        break;

                    case SeasonType.Winter:    //冬
                        term = studyPlanTerms.FirstOrDefault(a => a.Year == year && a.TermTypeId == ClientConfigManager.AppsettingsConfig.TermType.Winter);
                        studyPlanResponse.Data.Add(GenerateStudyPlanTerm(term, 3, season.ToString()));
                        break;

                    default:
                        break;
                    }
                }
                result.Add(studyPlanResponse);
            }
            return(result);
        }