public Lesson CreateEntityLesson(int InstructorID, Enum.DayOfCourse Day, int CourseID, int StartHour, int EndHour, DateTime Launch) { Lesson lesson = new Lesson(); lesson.InstructorID = InstructorID; lesson.Course = db.Courses.FirstOrDefault(c => c.CourseID == CourseID); lesson.Day = Day; lesson.StartHour = StartHour; lesson.EndHour = EndHour; lesson.Launch = Launch; return(lesson); }
public ActionResult CreateLesson(Enum.DayOfCourse Day, string Course, int StartHour, int EndHour, DateTime Launch) { if (Session["User"] == null) { TempData["CreateError"] = "No user connected"; return(RedirectToAction(nameof(LessonController.Create), "Lesson")); } else { Person userConnected = (Person)Session["User"]; try { if (StartHour >= EndHour) { TempData["CreateError"] = "Endhour must be after StartHour"; return(RedirectToAction(nameof(LessonController.Create), "Lesson")); } else { int CourseId = int.Parse(Course); // TODO : need to be in a differente layer, not in controller LessonBAL bal = new LessonBAL(); //Lesson lesson = bal.CreateEntityLesson(); Lesson lesson = new Lesson(); lesson.InstructorID = userConnected.ID; lesson.Course = db.Courses.FirstOrDefault(c => c.CourseID == CourseId); lesson.Day = Day; lesson.StartHour = StartHour; lesson.EndHour = EndHour; lesson.Launch = Launch; //if(bal.IsPlanningValid(lesson)) //{ // TempData["CreateError"] = $"You have already a course between {lesson.StartHour} h and {lesson.EndHour} h {lesson.Day}"; // return RedirectToAction(nameof(LessonController.Create), "Lesson"); //} if (!IsLessonValid(lesson)) { TempData["CreateError"] = $"You have already a course between {lesson.StartHour} h and {lesson.EndHour} h {lesson.Day}"; return(RedirectToAction(nameof(LessonController.Create), "Lesson")); } //bal.AddLesson(lesson, db); db.Lessons.Add(lesson); db.SaveChanges(); return(RedirectToAction(nameof(LessonController.Index), "Lesson")); } } catch (Exception) { ModelState.AddModelError("Error", "Error"); } } return(RedirectToAction(nameof(LessonController.Index), "Lesson")); }