public IActionResult AddExamSession(ExamSessionViewModel model) { if (ModelState.IsValid) { var optionsBuilder = new DbContextOptionsBuilder <AppDbContext>(); var unitOfWork = new UnitOfWork(new AppDbContext(optionsBuilder.Options)); //if (true/*(model.Start < DateTime.Now) || (model.End < DateTime.Now) || (model.Start > model.End)*/) //{ // ViewBag.Error = $"La de début doit etre inférieur à la date de fin"; // return View(model); //} var examSession = new ExamSession(); examSession.Start = model.Start ?? default(DateTime); examSession.End = model.End ?? default(DateTime); examSession.Name = model.Name; examSession.Description = model.Description; examSession.IsActive = true; unitOfWork.ExamSessions.Add(examSession); unitOfWork.Complete(); TempData["Message"] = "La session a été enregistrer avec succès"; return(RedirectToAction("AddExamSession"));; } return(View(model)); }
public IActionResult AddExamSession() { var model = new ExamSessionViewModel(); ViewBag.Message = TempData["Message"]?.ToString(); TempData["Message"] = ""; model.Start = DateTime.Now; model.End = DateTime.Now; return(View(model)); }
public async Task <IActionResult> GetSession(int id) { if (id < 1) { return(BadRequest("Invalid exam id.")); } AppUser user = await _usermanager.GetUserAsync(User); var exam = _repos.Exams.GetWith(id, "Sessions"); if (exam == null) { return(NotFound("Exam record with that id does not exist.")); } var session = exam.Sessions .FirstOrDefault(x => x.StudentId == user.AccountId); if (session == null) { session = new ExamSession() { ExamId = exam.Id, StudentId = user.AccountId }; session = _repos.ExamSessions.Create(session); exam.Sessions.Add(session); exam = _repos.Exams.Update(exam); _repos.Commit(); } var examViewModel = _dataManager.GetExam(id); var examSession = new ExamSessionViewModel() { Id = session.Id, SessionId = session.SessionId, TotalQuestions = examViewModel.Questions.Count, TotalMarks = examViewModel.Questions.Sum(x => x.Marks), Exam = examViewModel }; return(Ok(examSession)); }