Exemple #1
0
        public ActionResult Homework(HomeworkViewModel HVM)
        {
            checkLogin();

            HVM.groupSelectList = (IEnumerable <SelectListItem>)Session["groupSelectList"];
            HVM.typeSelectList  = (IEnumerable <SelectListItem>)Session["typeSelectList"];
            HVM.groupFilList    = (IEnumerable <SelectListItem>)Session["groupFilList"];
            HVM.typeFilList     = (IEnumerable <SelectListItem>)Session["typeFilList"];
            HVM.termFilList     = (IEnumerable <SelectListItem>)Session["termFilList"];

            bool result = true;

            //inactive deleted view item
            foreach (var i in HVM.inactiveList)
            {
                if (result && i > 1)
                {
                    result = false;
                    result = DBS.InactiveRecord("HOMEWORK", i, CP.userID);
                }
            }

            //add new work from new view item
            foreach (var n in HVM.viewList)
            {
                if (result && n.ID < 1)
                {
                    result = false;
                    HOMEWORK newWork = new HOMEWORK()
                    {
                        NAME          = n.name,
                        STUDENT_GROUP = n.group_id,
                        HOMEWORK_TYPE = n.type_id,
                        DUE_DATE      = n.date_due,
                        FULL_MARK     = n.full_mark,
                        ADD_BY        = CP.userID,
                        ADD_DATE      = DateTime.Now,
                        ACTIVE        = true
                    };

                    result = DBS.addRecord(newWork);
                }
            }

            ModelState.Clear();
            TempData["showForm"]  = true;
            TempData["showForm2"] = false;
            if (result)
            {
                TempData[Constant.msg_success] = "Changes have been saved";
            }
            else
            {
                TempData[Constant.msg_error] = "Changes have not been saved";
            }
            return(Homework(HVM.SelectedTerm, HVM.SelectedGroup, HVM.SelectedType, HVM));
        }
Exemple #2
0
        public ActionResult StudentGroup(StudentGroupViewModel SGVM)
        {
            checkLogin();

            bool result = true;

            foreach (var group in SGVM.InactiveGroupsList) //remove groups wanted to remove
            {
                if (result && group > 0)
                {
                    result = false;
                    result = DBS.InactiveRecord("STUDENT_GROUP", group, CP.userID);
                }
            }

            if (result)
            {
                foreach (var group in SGVM.groupList) //add new groups
                {
                    if (result)
                    {
                        if (group.ID < 1)
                        {
                            result         = false;
                            group.ADD_BY   = CP.userID;
                            group.ADD_DATE = DateTime.Now;
                            group.ACTIVE   = true;
                            result         = DBS.addRecord(group);
                        }
                        else
                        {
                            result            = false;
                            group.MODIFY_BY   = CP.userID;
                            group.MODIFY_DATE = DateTime.Now;
                            result            = DBS.updateRecord(group);
                        }
                    }
                }
            }

            ModelState.Clear();
            if (result)
            {
                TempData[Constant.msg_success] = Constant.ChangeSucceed;
                if (SGVM.SelectedTerm == CP.currentTerm.ID)
                {
                    Session["currentStudentGroups"] = DBS.findActiveCurrentRecords <STUDENT_GROUP>(); //reset current group
                }
            }
            else
            {
                TempData[Constant.msg_error] = Constant.ChangeFailed;
            }

            return(StudentGroup(SGVM.SelectedTerm));
        }
Exemple #3
0
        public ActionResult Merit(MeritsViewModel MVM)
        {
            checkLogin();
            MVM.TermList  = CP.termSelectList;
            MVM.userList  = CP.teacherSelectList;
            MVM.classList = classSelectList;

            // fields checking
            if (!ModelState.IsValid)
            {
                return(View("Merit", MVM));
            }

            //edit or create
            bool result = true;

            for (int m = 0; m < MVM.merits.Count; m++)
            {
                if (result)
                {
                    if (MVM.merits[m].ID < 1)
                    {
                        result = false;
                        result = DBS.addRecord(MVM.merits[m]);
                    }
                }
            }

            foreach (var i in MVM.inactiveList)
            {
                if (result && i > 0)
                {
                    result = false;
                    result = DBS.InactiveRecord("MERITS", i, CP.userID);
                }
            }

            ModelState.Clear();
            if (result)
            {
                TempData[Constant.msg_success] = Constant.ChangeSucceed;
            }
            else
            {
                TempData[Constant.msg_error] = Constant.ChangeFailed;
            }
            return(viewMerits(MVM.selectedTerm, MVM.selectedClass, MVM.selectedStudent));
        }
        public ActionResult TermPost(TERM next)
        {
            checkLogin();

            TERM previousT = Session["previousT"] != null? (TERM)Session["previousT"]: TermService.GetPreviousTerm();
            TERM currentT  = Session["currentT"] != null ? (TERM)Session["currentT"] : TermService.GetCurrentTerm();
            TERM nextT     = Session["nextT"] != null ? (TERM)Session["nextT"] : TermService.GetNextTerm();

            TermViewModel viewModel = new TermViewModel(previousT, currentT, nextT);

            TempData["showForm"]  = false;
            TempData["resultMsg"] = "";

            // fields checking
            if (!ModelState.IsValid)
            {
                TempData["showForm"] = true;
                return(View("Term", viewModel)); // redirect to form with data
            }
            // logic checking
            bool pass = true;

            if (TermService.GetTermByName(next.TERM_NAME).ID != 0 && TermService.GetTermByName(next.TERM_NAME).ID != next.ID)
            {
                TempData[Constant.msg_error] = "term name already in use";
                pass = false;
            }

            if (pass && next.TERM_START >= next.TERM_END)
            {
                TempData[Constant.msg_error] = "start date > end date";
                pass = false;
            }

            if (pass && next.TERM_START < DateTime.Now.Date)
            {
                TempData[Constant.msg_error] = "start date < today";
                pass = false;
            }

            if (pass && (currentT != null) && currentT.TERM_END >= next.TERM_START)
            {
                TempData[Constant.msg_error] = "current term end date > next term start date";
                pass = false;
            }

            if (!pass)
            {
                TempData["showForm"] = true;
                return(View("Term", viewModel));
            }// redirect to form with data

            next.ACTIVE = true;
            bool isSuccess = false;

            if (next.ID == Constant.DEF_INT)
            {
                isSuccess = DBS.addRecord(next);
            }
            else
            {
                isSuccess = DBS.updateRecord(next);
            }

            // some unkown error happened
            if (!isSuccess)
            {
                TempData[Constant.msg_error] = "Ops! something gone wrong.";
                TempData["showForm"]         = true;
                return(View("Term", viewModel)); // redirect to form with data
            }

            TempData[Constant.msg_success] = ((next.ID == Constant.DEF_INT) ? "New term has been created" : "Next term has been edited");

            //regen lists
            previousT = TermService.GetPreviousTerm();
            currentT  = TermService.GetCurrentTerm();
            nextT     = TermService.GetNextTerm();

            return(View(new TermViewModel(previousT, currentT, nextT))); // success
        }