示例#1
0
        public ActionResult viewSubmission(HomeworkViewModel HVM, int HWV_id)
        {
            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"];
            HVM.submission_list = new List <Submission_view>();

            HomeworkView view = HVM.viewList.Where(v => v.ID == HWV_id).First();
            List <HOMEWORK_SUBMISSION_LIST> submissions = HWV_id > 0? DBS.findRecordsBySingleParm <HOMEWORK_SUBMISSION_LIST>("HOMEWORK", HWV_id): new List <HOMEWORK_SUBMISSION_LIST>();
            List <STUDENT> students = StudentService.getStudentByGroup(view.group_id);

            if (students != null && students.Any())
            {
                for (int s = 0; s < students.Count; s++)
                {
                    Submission_view SV = new Submission_view();
                    SV.homework_id  = (int)HWV_id;
                    SV.student_id   = students[s].ID;
                    SV.group_id     = view.group_id;
                    SV.work_name    = view.name;
                    SV.group_name   = view.group_name;
                    SV.student_name = students[s].STUDENT_NAME;

                    if (submissions != null && submissions.Exists(sub => sub.STUDENT == SV.student_id))
                    {
                        HOMEWORK_SUBMISSION_LIST HSL = submissions.Where(sub => sub.STUDENT == SV.student_id).FirstOrDefault();
                        SV.QE_class      = HSL.QE_CLASS;
                        SV.QE_class_name = HSL.QE_CLASS_NAME;
                        SV.class_num     = HSL.CLASS_NUM;
                        SV.mark          = HSL.MARK;
                        SV.remark        = HSL.REMARK;
                        SV.submit_date   = HSL.ADD_DATE;
                        SV.submission_id = HSL.ID;
                        SV.contain       = true;
                    }
                    else
                    {
                        ClassStudentMap map = ClassService.getClassStudentMapByStudent(students[s].ID);
                        SV.QE_class      = map.ID;
                        SV.QE_class_name = map.FORM.ToString() + map.NAME;
                        SV.class_num     = map.CLASS_NUM;
                        SV.contain       = false;
                    }
                    HVM.submission_list.Add(SV);
                }
            }

            ModelState.Clear();
            TempData["showForm2"] = true;
            TempData["showForm"]  = false;
            return(View("Homework", HVM));
        }
示例#2
0
        public static bool UpdateSubmissionMarkRemark(HOMEWORK_SUBMISSION_LIST list)
        {
            Dictionary <string, string> parms = new Dictionary <string, string>()
            {
                { "REMARK", list.REMARK },
                { "MARK", list.MARK.ToString() },
                { "MODIFY_BY", ClientSessionService.GetSession.loginedUser.ID.ToString() },
                { "MODIFY_DATE", DateTime.Now.ToString() }
            };

            try { return(WillORM.UpdateRecord("HOMEWORK_SUBMISSION_LIST", parms, list.ID)); }
            catch { return(false); }
        }
示例#3
0
 public static int AddSubmission(HOMEWORK_SUBMISSION_LIST newSubmission)
 {
     try { return(WillORM.InsertRecord(newSubmission)); }
     catch { return(0); }
 }
示例#4
0
        public ActionResult SaveSubmissions(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;

            foreach (var s in HVM.submission_list)
            {
                if (result)
                {
                    if (s.submission_id > 0 && !s.contain)
                    {
                        //delete submission record
                        result = false;
                        result = DBS.removeRecord <HOMEWORK_SUBMISSION_LIST>(s.submission_id);
                    }
                    else if (s.submission_id < 1 && s.contain)
                    {
                        s.submit_date = DateTime.Now;//for late ratio cal

                        //add submission record
                        HOMEWORK_SUBMISSION_LIST newList = new HOMEWORK_SUBMISSION_LIST()
                        {
                            HOMEWORK      = s.homework_id,
                            STUDENT       = s.student_id,
                            STUDENT_GROUP = s.group_id,
                            QE_CLASS      = s.QE_class,
                            QE_CLASS_NAME = s.QE_class_name,
                            GROUP_NAME    = s.group_name,
                            STUDENT_NAME  = s.student_name,
                            CLASS_NUM     = s.class_num,
                            REMARK        = s.remark,
                            MARK          = s.mark,
                            ADD_BY        = CP.userID,
                            ADD_DATE      = DateTime.Now,
                            ACTIVE        = true,
                        };

                        result = false;
                        result = DBS.addRecord(newList);
                    }
                    else if (s.submission_id > 0 && s.contain)
                    {
                        // changes other than submission
                        Dictionary <string, string> parms = new Dictionary <string, string>()
                        {
                            { "REMARK", string.IsNullOrEmpty(s.remark) ? string.Empty : s.remark },
                            { "MARK", s.mark.ToString() },
                            { "MODIFY_BY", CP.userID.ToString() },
                            { "MODIFY_DATE", DateTime.Now.ToString() }
                        };

                        result = false;
                        result = DBS.updateRecordByID <HOMEWORK_SUBMISSION_LIST>(parms, s.submission_id);
                    }
                }
            }


            if (result)
            {
                //update ratios
                HOMEWORK work = DBS.findActiveRecordByID <HOMEWORK>(HVM.submission_list.FirstOrDefault().homework_id);
                if (work != null)
                {
                    int studentCount = StudentService.countStudentByGroup(work.STUDENT_GROUP);
                    work.SUBMISSION_RATIO = (decimal)HVM.submission_list.Count(sm => sm.contain == true) / (decimal)studentCount;
                    work.LATE_RATIO       = (decimal)(HVM.submission_list.Count(sm => ((sm.contain == true) && (sm.submit_date > work.DUE_DATE)))) / (decimal)studentCount;
                    work.MODIFY_BY        = CP.userID;
                    work.MODIFY_DATE      = DateTime.Now;
                    result = DBS.updateRecord(work);
                    if (result)
                    {
                        HVM.viewList.Where(h => h.ID == work.ID).First().submission_ratio = work.SUBMISSION_RATIO;
                        HVM.viewList.Where(h => h.ID == work.ID).First().late_ratio       = work.LATE_RATIO;
                    }
                }
            }


            ModelState.Clear();
            TempData["showForm"]  = false;
            TempData["showForm2"] = true;
            if (result)
            {
                TempData[Constant.msg_success] = Constant.ChangeSucceed;
            }
            else
            {
                TempData[Constant.msg_error] = Constant.ChangeFailed;
            }
            return(viewSubmission(HVM, HVM.submission_list.FirstOrDefault().homework_id));
        }