public ActionResult DeleteConfirmed(int id) { exam_timetable exam_timetable = db.exam_timetable.Find(id); //exam_timetable.is_deleted = true; //exam_timetable.modified_on = DateTime.Now; db.exam_timetable.Remove(exam_timetable); db.SaveChanges(); return(RedirectToAction("Index")); }
// GET: ExamTimetable/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } exam_timetable exam_timetable = db.exam_timetable.Find(id); if (exam_timetable == null) { return(HttpNotFound()); } return(View(exam_timetable)); }
public ActionResult Edit([Bind(Include = "id,version_number,program_code,program_title,course_code,course_title,course_hours,section_number,have_final_exam,final_exam_note,room_request,exam_length,weekday,time,room,teacher_name,proctor,is_deleted,created_by,created_on,modified_by,modified_on")] exam_timetable exam_timetable) { if (ModelState.IsValid) { db.Entry(exam_timetable).State = EntityState.Modified; //if (exam_timetable.is_deleted != false) //{ // var tempSchedule = db.exam_timetable.Where(e => e.version_number == exam_timetable.version_number); // foreach (var exam in tempSchedule) // { // exam.is_deleted = true; // } //} exam_timetable.modified_on = DateTime.Now; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(exam_timetable)); }
public ActionResult Create([Bind(Include = "id,version_number,program_code,program_title,course_code,course_title,course_hours,section_number,have_final_exam,final_exam_note,room_request,exam_length,weekday,time,room,teacher_name,proctor,is_deleted,created_by,created_on,modified_by,modified_on")] exam_timetable exam_timetable) { if (ModelState.IsValid) { GreedyAlgo algo = new GreedyAlgo(); ExamTables table = algo.arrangeExam(); int? versionNo; if (!(db.exam_timetable.Count() > 0)) { versionNo = 0; } else { versionNo = db.exam_timetable.OrderByDescending(e => e.id).First().version_number; versionNo++; } foreach (var item in table.solution) { foreach (var singleSession in item.sessionIds) { var section = singleSession.sessionId; exam_timetable.version_number = versionNo; exam_timetable.program_code = db.programs.Find(db.sections.Find(section).program_id).program_code; exam_timetable.program_title = db.programs.Find(db.sections.Find(section).program_id).title; exam_timetable.course_code = db.courses.Find(item.courseId).code; exam_timetable.course_title = db.courses.Find(item.courseId).title; exam_timetable.course_hours = db.courses.Find(item.courseId).hours; exam_timetable.section_number = db.sections.Find(section).section_number; exam_timetable.have_final_exam = db.course_exam.Where(ce => ce.course_id == item.courseId).First().have_final_exam; exam_timetable.final_exam_note = db.course_exam.Where(ce => ce.course_id == item.courseId).First().final_exam_note; exam_timetable.room_request = db.room_type.Find(item.roomType).type; var sectionEntity = db.sections.Find(section); if (sectionEntity != null && db.faculties.Find(sectionEntity.faculty_id) != null) // the function to get teacher name is not right here { exam_timetable.teacher_name = db.faculties.Find(sectionEntity.faculty_id).first_name + " " + db.faculties.Find(sectionEntity.faculty_id).last_name; } else { exam_timetable.teacher_name = ""; } if (item.protorId > 0) { exam_timetable.exam_length = db.course_exam.Where(ce => ce.course_id == item.courseId).First().exam_length.ToString(); exam_timetable.weekday = getWeekday(item.weekDay); exam_timetable.time = getTime(item.startHour, item.endHour, Convert.ToDouble(exam_timetable.exam_length)); exam_timetable.room = db.rooms.Find(item.roomId).name; exam_timetable.proctor = db.faculties.Find(item.protorId).first_name + " " + db.faculties.Find(item.protorId).last_name; } else { exam_timetable.exam_length = "0"; exam_timetable.weekday = "N/A"; exam_timetable.time = ""; exam_timetable.room = ""; exam_timetable.proctor = ""; } exam_timetable.is_deleted = false; exam_timetable.created_on = DateTime.Now; db.exam_timetable.Add(exam_timetable); db.SaveChanges(); } } return(RedirectToAction("Index")); } return(View(exam_timetable)); }