Example #1
0
        /// <summary>
        /// 将排课后的课表信息保存到数据库中
        /// </summary>
        /// <param name="courseTable">总课表</param>
        /// <param name="year">学生</param>
        /// <param name="term">学期</param>
        /// <returns></returns>
        public static bool StoreSchedule(Hashtable courseTable, string year, string term)
        {
            bool isSuccess = false;

            if (courseTable == null || courseTable.Count == 0)
            {
                Exception ex = new Exception("课表为空");
                throw ex;
            }
            else
            {
                try
                {
                    IDictionaryEnumerator it = courseTable.GetEnumerator();
                    for (int i = 0; i < courseTable.Count; i++)
                    {
                        if(it.MoveNext())
                        {
                            // classId班级ID号, className班级名称
                            int classId = ((StudentsGroup)it.Key).GetId();
                            String className = ((StudentsGroup)it.Key).GetName();

                            List<List<CourseClass>> slot = ((Schedule)it.Value).GetSlots();

                            if (Schedule.DAY_HOURS == 4)    // 默认每天4大节的上课时间
                            {
                                for (int j = 0; j < slot.Count; j++)
                                {
                                    if (slot[j].Count >= 1)
                                    {
                                        // 新建一条课表信息
                                        CY.GFive.Core.Business.CurriculmArrange ca = new CY.GFive.Core.Business.CurriculmArrange();
                                        // 保存学年,学期信息
                                        ca.Year = year;
                                        ca.Term = int.Parse(term);

                                        // 保存教室信息
                                        ca.ClassRoomCode = ((StudentsGroup)it.Key).GetRoomCode();

                                        // 保存班级信息
                                        ca.ClassCode = CY.GFive.Core.Business.ClassInfo.Load(classId).ClassCode;

                                        // 获取上课时间
                                        int courseTime = j;
                                        // 保存上课时间信息
                                        ca.CourseTime = courseTime;

                                        // 保存课程信息
                                        ca.CourseCode = CY.GFive.Core.Business.Course.Load(slot[j].First().GetCourse().GetId()).Code;

                                        // 保存教师信息
                                        ca.TeacherCode = CY.GFive.Core.Business.StaffInfo.Load(slot[j].First().GetProfessor().GetId()).Code;

                                        // 保存
                                        ca.Save();
                                    }
                                }
                            }
                            else if (Schedule.DAY_HOURS == 3)      // 每天3大节的上课时间,需要进行时间转化
                            {
                                for (int j = 0; j < slot.Count; j++)
                                {
                                    if (slot[j].Count >= 1)
                                    {
                                        // 新建一条课表信息
                                        CY.GFive.Core.Business.CurriculmArrange ca = new CY.GFive.Core.Business.CurriculmArrange();
                                        // 保存学年,学期信息
                                        ca.Year = year;
                                        ca.Term = int.Parse(term);

                                        // 保存教室信息
                                        ca.ClassRoomCode = ((StudentsGroup)it.Key).GetRoomCode();

                                        // 保存班级信息
                                        ca.ClassCode = CY.GFive.Core.Business.ClassInfo.Load(classId).ClassCode;

                                        int iDay = j / 3;
                                        int iTime = j % 3;
                                        int courseTime = iDay * 4 + iTime;
                                        // 保存上课时间信息
                                        ca.CourseTime = courseTime;

                                        // 获取课程信息
                                        ca.CourseCode = CY.GFive.Core.Business.Course.Load(slot[j].First().GetCourse().GetId()).Code;

                                        // 保存教师信息
                                        ca.TeacherCode = CY.GFive.Core.Business.StaffInfo.Load(slot[j].First().GetProfessor().GetId()).Code;

                                        // 保存
                                        ca.Save();
                                    }
                                }
                            }
                            else
                            {
                                Exception ex = new Exception("每天排课节数已经超过了四大节,请重新设置排课节数!");
                                throw ex;
                            }

                        }
                    }

                    isSuccess = true;

                }
                catch (Exception ex)
                {
                    throw ex;
                }

                return isSuccess;
            }
        }
Example #2
0
        public string DataHandler(HttpContext context)
        {
            StringBuilder returnvalue = new StringBuilder();
            bool IsSucess = false;

            try
            {
                string day = HttpUtility.HtmlDecode(context.Request.Params["day"]);
                string time = HttpUtility.HtmlDecode(context.Request.Params["time"]);
                string code = HttpUtility.HtmlDecode(context.Request.Params["code"]);
                string teacher = HttpUtility.HtmlDecode(context.Request.Params["teacher"]);
                string classcode = HttpUtility.HtmlDecode(context.Request.Params["classcode"]);
                string semester = HttpUtility.HtmlDecode(context.Request.Params["semester"]);
                string year = HttpUtility.HtmlDecode(context.Request.Params["year"]);
                string classroom = context.Request.Params["classroom"];
                int Day = default(int);
                int Time = default(int);
                int Semester = default(int);

                CY.GFive.Core.Business.Course Course = null;
                CY.GFive.Core.Business.StaffInfo Teacher = null;
                CY.GFive.Core.Business.ClassInfo Class = null;
                CY.GFive.Core.Business.ClassRoom ClassRoom = null;

                if (!string.IsNullOrEmpty(day) && !string.IsNullOrEmpty(time) && !string.IsNullOrEmpty(code) && !string.IsNullOrEmpty(teacher)
                    && int.TryParse(day, out Day) && int.TryParse(time, out Time) && int.TryParse(semester, out Semester) && Day > 0 && Time > 0 && Semester > 0)
                {
                    if ((Course = CY.GFive.Core.Business.Course.GetInstance(code)) != null &&
                        (Teacher = CY.GFive.Core.Business.StaffInfo.GetInstance(teacher)) != null &&
                        (Class = CY.GFive.Core.Business.ClassInfo.GetInstance(classcode)) != null
                        //&&
                        //(ClassRoom = CY.GFive.Core.Business.ClassRoom.GetInstance(classroom)) != null
                        )
                    {
                        List<CY.GFive.Core.Business.CurriculmArrange> Arranges = CY.GFive.Core.Business.CurriculmArrange.Fill(Class, year, Semester) as List<CY.GFive.Core.Business.CurriculmArrange>;
                        bool IsNotExist = true;
                        int Serial = (Day - 1) * 4 + Time - 1;
                        if (Arranges != null)
                        {
                            for (int i = 0; i < Arranges.Count; i++)
                            {
                                if (Arranges[i].CourseTime != Serial)
                                {
                                    IsNotExist = IsNotExist && true;
                                }
                                else
                                {
                                    IsNotExist = IsNotExist && false;
                                    break;
                                }
                            }
                        }
                        if (IsNotExist)
                        {
                            CY.GFive.Core.Business.CurriculmArrange Arrange = new CY.GFive.Core.Business.CurriculmArrange();
                            Arrange.TeacherCode = Teacher.Code;
                            Arrange.Term = Semester;
                            Arrange.Year = year;
                            Arrange.ClassCode = Class.ClassCode;
                            Arrange.CourseCode = Course.Code;
                            Arrange.ClassRoomCode = ClassRoom.Code;
                            Arrange.CourseTime = Serial;
                            Arrange.Save();
                            IsSucess = true;
                        }
                    }

                }
            }
            catch (Exception ex)
            {

            }
            finally
            {
                if (IsSucess)
                {
                    returnvalue.Append("{result:true,msg:'添加成功!'}");
                }
                else
                {
                    returnvalue.Append("{result:false,msg:'添加失败,请检查参数!'}");
                }
            }
            return returnvalue.ToString();
        }