Exemplo n.º 1
0
        public ActionResult Create(int SemesterID, int GradeID, int MajorID, string[] SemesterCourseNumber, string[] SemesterCourseName, CourseType[] CourseType)
        {
            if (ModelState.IsValid)
            {
                int semesterCourseNumberCount = SemesterCourseNumber.Count(x => !string.IsNullOrEmpty(x));
                int semesterCourseNameCount   = SemesterCourseName.Count(x => !string.IsNullOrEmpty(x));
                int courseTypeCount           = CourseType.Count();

                var validateLenth = Math.Min(semesterCourseNumberCount, semesterCourseNameCount);
                var _gradMajor    = db.GradeMajors.SingleOrDefault(x => x.GradeID == GradeID && x.MajorID == MajorID);
                if (_gradMajor == null)
                {
                    return(HttpNotFound());
                }
                else
                {
                    for (int i = 0; i < validateLenth; i++)
                    {
                        var semesterCourseUpdate = new SemesterCourse();
                        semesterCourseUpdate.SemesterID           = SemesterID;
                        semesterCourseUpdate.GradeMajorID         = _gradMajor.GradeMajorID;
                        semesterCourseUpdate.SemesterCourseNumber = SemesterCourseNumber[i];
                        semesterCourseUpdate.SemesterCourseName   = SemesterCourseName[i];
                        semesterCourseUpdate.CourseType           = CourseType[i];
                        semesterCourseUpdate.AuthorName           = User.Identity.GetUserName();
                        semesterCourseUpdate.PostTime             = DateTime.Now;
                        db.SemesterCourses.Add(semesterCourseUpdate);
                        db.SaveChanges();
                    }
                    return(RedirectToAction("Index"));
                }
            }

            return(RedirectToAction("Index"));
        }
        public ActionResult Create(int GradeID, int MajorID, string[] SchoolClassName, int[] StudentNumber)
        {
            if (ModelState.IsValid)
            {
                // int classNameCount = SchoolClassName.Count();
                //int classStudentNumberCount = StudentNumber.Count();

                var validateLenth = SchoolClassName.Count(x => !string.IsNullOrEmpty(x));
                var _gradMajor    = db.GradeMajors.SingleOrDefault(x => x.GradeID == GradeID && x.MajorID == MajorID);
                if (_gradMajor == null)
                {
                    return(HttpNotFound());
                }
                else
                {
                    for (int i = 0; i < validateLenth; i++)
                    {
                        var schoolClassUpdate = new SchoolClass();

                        schoolClassUpdate.GradeMajorID    = _gradMajor.GradeMajorID;
                        schoolClassUpdate.SchoolClassName = SchoolClassName[i];
                        schoolClassUpdate.StudentNumber   = StudentNumber[i];

                        db.SchoolClasses.Add(schoolClassUpdate);
                        db.SaveChanges();
                    }
                    return(RedirectToAction("Index"));
                }
            }

            return(RedirectToAction("Index"));
        }
Exemplo n.º 3
0
        public override void OnActionExecuted(ActionExecutedContext filterContext)
        {
            // TeachingMaterialDbContext db=filterContext.Controller

            // TeachingMaterialDbContext db = filterContext.HttpContext.GetOwinContext().Get<TeachingMaterialDbContext>();


            foreach (var gradeItem in db.Grades.Include(x => x.GradeMajors).ToList())
            {
                int _gradeStudentNumber = 0;
                if (gradeItem.GradeMajors != null)
                {
                    foreach (var gradeMajorItem in gradeItem.GradeMajors)
                    {
                        _gradeStudentNumber += gradeMajorItem.GradeMajorStudentNumber;

                        /* if (gradeMajorItem.SchoolClasses != null)
                         * {
                         * foreach (var classItem in gradeMajorItem.SchoolClasses)
                         *  {
                         *      _gradeStudentNumber += classItem.StudentNumber;
                         *  }
                         *
                         * } */
                    }
                    gradeItem.GradeStudentNumber = _gradeStudentNumber;
                    db.SaveChanges();
                }
            }


            foreach (var majorItem in db.Majors.Include(m => m.GradeMajors).ToList())
            {
                int _majorStudentNumber = 0;
                if (majorItem.GradeMajors != null)
                {
                    foreach (var gradeMajorItem in majorItem.GradeMajors)
                    {
                        _majorStudentNumber += gradeMajorItem.GradeMajorStudentNumber;

                        /* if (gradeMajorItem.SchoolClasses != null)
                         * {
                         *  foreach (var classItem in gradeMajorItem.SchoolClasses)
                         *  {
                         *      _gradeStudentNumber += classItem.StudentNumber;
                         *  }
                         *
                         * } */
                    }
                    majorItem.MajorStudentNumber = _majorStudentNumber;
                    db.SaveChanges();
                }
            }


            base.OnActionExecuted(filterContext);
        }
Exemplo n.º 4
0
        public ActionResult Create([Bind(Include = "DepartmentName,DepartmentLocation")] Department department)
        {
            if (ModelState.IsValid)
            {
                db.Departments.Add(department);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(RedirectToAction("Index"));
        }
        public ActionResult Create([Bind(Include = "NoticeTitle,Content,AuthorName,PostTime,NoticeIsShow,PriorOrder,ClickCount")] Notice notice)
        {
            if (ModelState.IsValid)
            {
                db.Notices.Add(notice);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(notice));
        }
Exemplo n.º 6
0
        public ActionResult Create([Bind(Include = "BookTypeName")] BookType bookType)
        {
            if (ModelState.IsValid)
            {
                db.BookTypes.Add(bookType);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(bookType));
        }
Exemplo n.º 7
0
        public ActionResult Create([Bind(Include = "BookID,BookName,ISBN,AuthorName,Press,PublishingDate,Price,BookTypeID")] Book book)
        {
            if (ModelState.IsValid)
            {
                db.Books.Add(book);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.BookTypeID = new SelectList(db.BookTypes, "BookTypeID", "BookTypeName", book.BookTypeID);
            return(View(book));
        }
Exemplo n.º 8
0
        public ActionResult Create([Bind(Include = "GradeID,MajorID,GradeMajorIsValidate")] GradeMajor gradeMajor)  //因为创建视图返回回来的为空,所有不要绑定GradeMajorID
        {
            if (ModelState.IsValid)
            {
                db.GradeMajors.Add(gradeMajor);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            // ViewBag.GradeID = new SelectList(db.Grades, "GradeID", "GradeName", gradeMajor.GradeID);
            //ViewBag.MajorID = new SelectList(db.Majors, "MajorID", "MajorName", gradeMajor.MajorID);
            return(RedirectToAction("Index"));
        }
Exemplo n.º 9
0
        public ActionResult Create([Bind(Include = "SemesterName,StartDateOfSubscription,OverDateOfSubscription,SwitchOfSubscription,IsCurrentSemester")] Semester semester)
        {
            if (ModelState.IsValid)
            {
                if (semester.StartDateOfSubscription < semester.OverDateOfSubscription)
                {
                    ModelState.AddModelError("", "开始日期不能小于结束日期");
                }
                db.Semesters.Add(semester);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            //PartialView("_AddSemester.Modal.Preview", semester);
            return(RedirectToAction("Index"));
        }
        public ActionResult Create([Bind(Include = "GradeName,GradeIsValidate")] Grade grade) //如果在绑定白名单 中有GradeID,从模态框中返回的空值将绑定失败。
        {
            if (ModelState.IsValid)
            {
                db.Grades.Add(grade);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            if (Request.UrlReferrer != null)
            {
                var returnUrl = Request.UrlReferrer.ToString();
                return(new RedirectResult(returnUrl));    //由于使用的是隐藏表单提交而非Ajax无刷新异步提交。所以使用jquery将表单提交到控制器后,返回Request.UrlReferrer返回到上一个页面将是数据库更新后的状态。
            }


            return(RedirectToAction("Index"));
        }
        public ActionResult Create([Bind(Include = "MajorName,DepartmentID")] Major major)  //以前在Create 方法中包含了MajorID,而Create方法中的majorID值为空,因此,始终模型绑定不成功。有了它还导致了绑定失败;
        {
            if (ModelState.IsValid)
            {
                db.Majors.Add(major);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            // ViewBag.DepartmentID = new SelectList(db.Departments, "DepartmentID", "DepartmentName", major.DepartmentID);
            if (Request.UrlReferrer != null)
            {
                var returnUrl = Request.UrlReferrer.ToString();
                return(new RedirectResult(returnUrl));    //由于使用的是隐藏表单提交而非Ajax无刷新异步提交。所以使用jquery将表单提交到控制器后,返回Request.UrlReferrer返回到上一个页面将是数据库更新后的状态。
            }


            return(RedirectToAction("Index"));
        }
Exemplo n.º 12
0
        /*
         * //模态框取得的专业列表,一旦模态框中部门变动,返回专业
         * [HttpGet]
         * public JsonResult GetModalMajorList(int gradeID, int? departmentID)
         * {
         *   var _majorList = from m in db.GradeMajors.Include(x => x.Major)
         *                    where m.GradeID == gradeID && m.GradeMajorIsValidate == true
         *                    select m.Major;
         *
         *   _majorList = _majorList.Distinct().OrderBy(x => x.MajorID);
         *
         *   if (departmentID != null)
         *   {
         *       _majorList = _majorList.Where(x => x.DepartmentID == departmentID);
         *   }
         *
         *   var _majors = from m in _majorList
         *                 select new { majorID = m.MajorID, majorName = m.MajorName };
         *   return Json(_majors.ToList(), JsonRequestBehavior.AllowGet);
         *
         * }
         */

        //批量设置需要或不需要征订学生教材。适用于批准设置需要 教材 和批量设置不需要教材 两种选择。
        public int MassSetNeedStudentBook(bool expected = true, params int[] selectedIds) //必须为int型,负责find()会出现主键的类型不匹配
        {
            int number = 0;

            if (selectedIds != null)
            {
                foreach (var semesterCourseId in selectedIds)
                {
                    var semesterCourse = db.SemesterCourses.Find(semesterCourseId);
                    if (semesterCourse != null)
                    {
                        if (expected)
                        {
                            if (semesterCourse.IsNeedStudentBook != true)
                            {
                                semesterCourse.IsNeedStudentBook = true;
                                number++;
                            }
                        }
                        else
                        {
                            if (semesterCourse.IsNeedStudentBook != false)
                            {
                                semesterCourse.IsNeedStudentBook = false;
                                number++;
                                var alreadyBookSubscription = semesterCourse.BookSubscriptions.Where(x => x.SubscriptionType == SubscriptionType.学生教材);
                                if (alreadyBookSubscription != null)                           //如果存在与该 课程关联的订单。
                                {
                                    db.BookSubscriptions.RemoveRange(alreadyBookSubscription); //删除该课程对应的所有订单。
                                }
                            }
                        }

                        db.SaveChanges();
                    }
                }
            }
            return(number);
        }
Exemplo n.º 13
0
        public int GenerateSchoolClassBookOrder(int?semesterIDParam)
        {
            int count = 0;

            if (semesterIDParam == null)
            {
                return(0);
            }
            var currentSemester = db.Semesters.Single(x => x.SemesterID == semesterIDParam);

            if (currentSemester == null)
            {
                return(0);
            }
            if (!currentSemester.IsCurrentSemester)
            {
                return(0);
            }

            var exitSchoolClassBookOrder = db.SchoolClassBookOrders.Where(x => x.BookSubscription.SemesterCourse.SemesterID == semesterIDParam); //找出已经存在的班级订单,全部删除;

            db.SchoolClassBookOrders.RemoveRange(exitSchoolClassBookOrder);

            var exitMajorTeacherBookOrder = db.TeacherBookOrders.Where(x => x.BookSubscription.SemesterCourse.SemesterID == semesterIDParam);

            db.TeacherBookOrders.RemoveRange(exitMajorTeacherBookOrder);

            var subscritpion = db.BookSubscriptions.Include(x => x.SemesterCourse).Include(x => x.Book).Where(x => x.SemesterCourse.SemesterID == semesterIDParam); //找出所有的原始订单。

            foreach (var subItem in subscritpion)
            {
                var gradeMajorItem = db.GradeMajors.Include(x => x.SchoolClasses).Single(x => x.GradeMajorID == subItem.SemesterCourse.GradeMajorID);
                if (gradeMajorItem != null)
                {
                    if (subItem.SubscriptionType == SubscriptionType.学生教材)
                    {
                        foreach (var classItem in gradeMajorItem.SchoolClasses)
                        {
                            db.SchoolClassBookOrders.Add(
                                new SchoolClassBookOrder
                            {
                                SchoolClassID      = classItem.SchoolClassID,
                                BookSubscriptionID = subItem.BookSubscriptionID,
                                GenerateTime       = DateTime.Now,

                                //为了使电子表格导出数据,添加了冗余列。
                                SemesterName         = subItem.SemesterName,
                                GradeName            = subItem.GradeName,
                                DepartmentName       = subItem.DepartmentName,
                                MajorName            = subItem.MajorName,
                                SchoolClassName      = classItem.SchoolClassName, //班级名称
                                SemesterCourseNumber = subItem.SemesterCourseNumber,
                                SemesterCourseName   = subItem.SemesterCourseName,
                                BookName             = subItem.BookName,
                                AuthorName           = subItem.AuthorName,
                                ISBN                   = subItem.ISBN,
                                Press                  = subItem.Press,
                                PublishingDate         = subItem.PublishingDate,
                                Price                  = subItem.Price,
                                BookSubscriptionNumber = classItem.StudentNumber,   //订单数量等于班级人数
                                BookTypeName           = subItem.BookTypeName,
                                SubscriptionTypeName   = subItem.BookTypeName,
                                SubscriptionPrice      = subItem.SubscriptionPrice
                            });
                        }
                    }
                    else if (subItem.SubscriptionType == SubscriptionType.教师用书)
                    {
                        db.TeacherBookOrders.Add(new TeacherBookOrder()
                        {
                            MajorID      = gradeMajorItem.MajorID, BookSubscriptionID = subItem.BookSubscriptionID,
                            GenerateTime = DateTime.Now
                        });
                    }
                    count += db.SaveChanges();
                }
            }

            return(count);
        }