public async Task <ActionResult> CreateAbsence([FromBody] AbsenceCreateDTO absenceDTO) { if (absenceDTO == null) { return(BadRequest(ModelState)); } var absence = await _repository.CreateAbsence(absenceDTO); if (absence == null) { return(Conflict("An employee may only have one absence per day.")); } return(CreatedAtAction(nameof(GetAbsence), new { id = absence.Id }, absence)); }
[Authorize(Policy = "GivFraværPolicy")] //mangler implementation i visning public IActionResult AbsenceList(StudentListViewModel model) { List <string> statusList = model.StatusList.ToList(); List <Absence> absenceList = new List <Absence>(); // If education is selected if (model.Education.EducationId != 0) { Education education = educationRepo.Educations.FirstOrDefault(e => e.EducationId == model.Education.EducationId); List <Course> courses = courseRepo.CoursesByEducationAndDate(education, model.Date); if (!model.Edit) { foreach (string s in statusList) { string[] split = s.Split(":", 2); foreach (Student student in studentRepo.Students) { if (student.StudentId.ToString() == split[0]) { foreach (Course course in courses) { foreach (StudentCourse studentCourse in course.StudentCourses) { if (student.StudentId == studentCourse.StudentId) { Absence absence = new Absence { Student = student, Date = model.Date, Course = course, Status = split[1] }; absenceList.Add(absence); } } } break; } } } absenceRepo.CreateAbsence(absenceList); } else { absenceList = absenceRepo.AbsencesForDateEducation(model.Education, model.Date).ToList(); absenceRepo.UpdateAbsence(absenceList, statusList); } // If course is selected } else if (model.Course.CourseId != 0) { if (!model.Edit) { foreach (string s in statusList) { string[] split = s.Split(":", 2); foreach (Student student in studentRepo.Students) { if (student.StudentId.ToString() == split[0]) { Course selectedCourse = new Course(); foreach (Course course in courseRepo.Courses) { if (course.CourseId == model.Course.CourseId) { selectedCourse = course; } } Absence absence = new Absence { Student = student, Date = model.Date, Course = selectedCourse, Status = split[1] }; absenceList.Add(absence); break; } } } absenceRepo.CreateAbsence(absenceList); } else { absenceList = absenceRepo.AbsencesForDateCourse(model.Course, model.Date).ToList(); absenceRepo.UpdateAbsence(absenceList, statusList); } } ViewBag.Check = false; return(RedirectToAction("Index", "Home")); }
public AbsenceModel CreateAbsence(AbsenceModel model) { var absenceCreation = _repo.CreateAbsence(model); return(absenceCreation); }