Beispiel #1
0
        /// <summary>
        /// 得到指定时间或者当前的时间与开学的时间状态
        /// </summary>
        public SchollTime GetSchollTime(string time = null)
        {
            if (!DateTime.TryParse(time, out DateTime currenTime))
            {
                //获取当前网络时间
                currenTime = Convert.ToDateTime(Infrastructure.Extended.DatetimeExtened.GetNetDateTime());
            }

            int    year  = currenTime.Year;  //今天的年
            int    month = currenTime.Month; //今天的月
            int    term;                     //第几学期
            string searchYear = string.Empty;

            if (month >= 9 || month <= 2)
            {
                term = 1;
                if (month >= 9)
                {
                    searchYear = year + "-" + (year + 1);
                }
                else
                {
                    searchYear = "-" + year;
                }
            }
            else
            {
                term       = 2;
                searchYear = "-" + year;
            }
            //searchYear = term == 1 ? (year - 1) + "-" + year : "-" + year;
            Z_SchoolTime ZSchoolTime = SchoolTimeService.GetEntity(u => u.F_SchoolYear.Contains(searchYear)).FirstOrDefault(u => u.F_Term == term + "");
            DateTime     schoolTime  = ZSchoolTime.F_SchoolTime;                  //开学时间
            TimeSpan     span        = currenTime - schoolTime;                   //距离开学过去多久了
            int          days        = span.Days;                                 //距离开学过去几天了
            int          weeks       = Convert.ToInt32(Math.Ceiling(days / 7.0)); //开学第几周了
            string       week        = ((float)currenTime.DayOfWeek).ToString(CultureInfo.InvariantCulture);

            week  = "0" == week ? "7" : week;
            weeks = weeks == 0 ? 1 : weeks;
            SchollTime schollTime = new SchollTime()
            {
                Week        = week,
                Month       = month,
                Term        = term,
                Weeks       = weeks,
                Year        = year,
                SearchYear  = searchYear,
                CurrentTime = currenTime
            };

            return(schollTime);
        }
Beispiel #2
0
        /// <summary>
        /// 获取今日或者指定日期下的所有课程
        /// </summary>
        /// <param name="time">指定日期</param>
        /// <returns></returns>
        public List <Course> GetToDayCourseOrByDate(SchollTime schollTime = null)
        {
            schollTime = schollTime ?? GetSchollTime();
            Z_SchoolTime ZSchoolTime = SchoolTimeService.GetEntity(u => u.F_SchoolYear.Contains(schollTime.SearchYear)).FirstOrDefault(u => u.F_Term == schollTime.Term + "");
            DateTime     schoolTime  = ZSchoolTime.F_SchoolTime; //开学时间
            DateTime     endTime     = ZSchoolTime.F_EndTime;    //该学期结束时间

            if (schollTime.CurrentTime >= endTime)
            {
                return(new List <Course>());
            }
            TimeSpan span  = schollTime.CurrentTime - schoolTime;                                                                                                   //距离开学过去多久了
            int      days  = span.Days;                                                                                                                             //距离开学过去几天了
            int      weeks = Convert.ToInt32(Math.Ceiling(days / 7.0));                                                                                             //开学第几周了

            var zCourses = GetEntity(u => u.F_SchoolYear.Contains(schollTime.SearchYear) && u.F_Term == schollTime.Term.ToString() && u.F_Week == schollTime.Week); //获取符合条件的课程信息

            var rooms = RoomService.GetEntity(r => true);
            IQueryable <Course> list = (from r in rooms
                                        join course in zCourses on r.F_EnCode equals course.F_RoomCode
                                        select new Course()
            {
                Id = course.F_Id,
                TeacherName = course.F_TeacherName,
                Week = course.F_Week,
                CourseName = course.F_FullName,
                Grade = course.F_Grade,
                Major = course.F_Major,
                Classes = course.F_Class,
                RoomName = course.F_RoomName,
                RoomNo = r.F_RoomNo,
                CourseTimeType = course.F_CourseTimeType,
                EnCode = course.F_EnCode,
                BeginWeek = course.F_BeginWeek,
                EndWeek = course.F_EndWeek
            });

            //var toDayCourses = new List<Course>();
            var toDayCourses = SelectCourseInTheCurrentWeek(list.ToList(), schollTime);

            return(toDayCourses);
        }
Beispiel #3
0
 public async Task Post(long termId, [FromBody] List <SchoolTimeSaveRequest> schoolTimeList)
 {
     SchoolTimeService service = new SchoolTimeService(termId);
     await service.Save(schoolTimeList, base.SchoolId);
 }
Beispiel #4
0
 public async Task Delete(long schoolTimeId)
 {
     await SchoolTimeService.Remove(schoolTimeId);
 }
Beispiel #5
0
        public List <SchoolDayTimeListResponse> GetDayTimeList(DateTime day)
        {
            var result = SchoolTimeService.GetDayTimeList(base.SchoolId, day);

            return(result);
        }
Beispiel #6
0
        public List <SchoolTimeDetailResponse> Get(long termId, int weekDay)
        {
            SchoolTimeService service = new SchoolTimeService(termId);

            return(service.GetSchoolTimeList(weekDay));
        }
Beispiel #7
0
 public List <int> GetPredictYears()
 {
     return(SchoolTimeService.GetPredictYears(base.SchoolId));
 }