Esempio n. 1
0
        public ActionResult endexam()
        {
            if (Session["us_id"] == null)
            {
                return(RedirectToAction("Index"));
            }
            EXAM ex = new EXAM();

            try
            {
                ex.EXAM_ID      = Convert.ToInt32(TempData["examid"]);
                ex.EXAM_FK_USER = Convert.ToInt32(Session["us_id"]);
                ex.EXAM_DATE    = System.DateTime.Now;
                int total = Convert.ToInt32(TempData["examid"]);
                ex.EXAM_USER_SCORE = (int)Convert.ToInt32(TempData["score"].ToString());
                p.EXAMs.Add(ex);
                p.SaveChanges();
            }
            catch (Exception)
            {
            }
            Session.RemoveAll();
            TempData["score"] = ex.EXAM_USER_SCORE;

            return(View());
        }
        public ActionResult DeleteConfirmed(int id)
        {
            EXAM eXAM = db.EXAMs.Find(id);

            db.EXAMs.Remove(eXAM);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
 public ActionResult Edit([Bind(Include = "id,examSubject,startTime,examDate,examDuration,classRoom,faculty")] EXAM eXAM)
 {
     if (ModelState.IsValid)
     {
         db.Entry(eXAM).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.classRoom   = new SelectList(db.Classes, "id", "name", eXAM.classRoom);
     ViewBag.examSubject = new SelectList(db.Subjects, "id", "name", eXAM.examSubject);
     ViewBag.faculty     = new SelectList(db.Faculties, "id", "name", eXAM.faculty);
     return(View(eXAM));
 }
        // GET: EXAMs/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            EXAM eXAM = db.EXAMs.Find(id);

            if (eXAM == null)
            {
                return(HttpNotFound());
            }
            return(View(eXAM));
        }
        // GET: EXAMs/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            EXAM eXAM = db.EXAMs.Find(id);

            if (eXAM == null)
            {
                return(HttpNotFound());
            }
            ViewBag.classRoom   = new SelectList(db.Classes, "id", "name", eXAM.classRoom);
            ViewBag.examSubject = new SelectList(db.Subjects, "id", "name", eXAM.examSubject);
            ViewBag.faculty     = new SelectList(db.Faculties, "id", "name", eXAM.faculty);
            return(View(eXAM));
        }
Esempio n. 6
0
        static public USINGEXAM AutoMakeExam(USINGEXAM usingExam_, EXAM exam, DateTime startdate, DateTime endDate)
        {
            USINGEXAM usingExam = new USINGEXAM(usingExam_);

            DateTime    selectedDate     = startdate;
            List <ROOM> listRoomFiltered = (from r in DataProvider.Ins.DB.ROOMs
                                            where r.Capacity >= exam.Population_
                                            orderby r.Capacity ascending
                                            select r).ToList();

            while (selectedDate <= endDate)
            {
                if (selectedDate.DayOfWeek != DayOfWeek.Sunday)
                {
                    foreach (ROOM room in listRoomFiltered)
                    {
                        usingExam.Date_       = selectedDate;
                        usingExam.StartPeriod = 1;
                        usingExam.RoomID      = room.RoomID;

                        while (CalcEndPeriod(usingExam.StartPeriod, usingExam.Duration) != -1)
                        {
                            var listOverlapExam  = CheckOverlapExam(usingExam);
                            var listOverlapEvent = CheckOverlapEvent(usingExam);

                            int maxOverlapEndPeriod = 0;

                            if (listOverlapEvent == null && listOverlapExam == null)
                            {
                                return(usingExam);
                            }

                            if (listOverlapExam != null)
                            {
                                foreach (var overlapExam in listOverlapExam)
                                {
                                    int overlapEndPeriod = CalcEndPeriod(overlapExam.StartPeriod, overlapExam.Duration);

                                    if (maxOverlapEndPeriod < overlapEndPeriod)
                                    {
                                        maxOverlapEndPeriod = overlapEndPeriod;
                                    }
                                }
                            }

                            if (listOverlapEvent != null)
                            {
                                foreach (var overlapEvent in listOverlapEvent)
                                {
                                    int overlapEndPeriod = CalcEndPeriod(overlapEvent.StartPeriod, overlapEvent.Duration);

                                    if (maxOverlapEndPeriod < overlapEndPeriod)
                                    {
                                        maxOverlapEndPeriod = overlapEndPeriod;
                                    }
                                }
                            }

                            int newStartPeriod = maxOverlapEndPeriod + 1;
                            int newEndperiod   = CalcEndPeriod(newStartPeriod, usingExam.Duration);

                            if (newStartPeriod <= 5 && newEndperiod > 5)
                            {
                                newStartPeriod = 6;
                            }

                            usingExam.StartPeriod = newStartPeriod;
                        }
                    }
                }

                selectedDate = selectedDate.AddDays(1);
            }

            return(null);
        }