Exemplo n.º 1
0
        public async Task <IActionResult> Create(CreateAbsenceListInputModel input, int courseId, string courseName, int lectureId, string lectureTitle)
        {
            if (!this.ModelState.IsValid)
            {
                input.CourseId     = courseId;
                input.CourseName   = courseName;
                input.LectureId    = lectureId;
                input.LectureTitle = lectureTitle;
                input.Students     = this.studentsService.GetAllByCourse <AllStudentsByCourseViewModel>(courseId);
                return(this.View(input));
            }

            input.CourseId     = courseId;
            input.CourseName   = courseName;
            input.LectureId    = lectureId;
            input.LectureTitle = lectureTitle;
            input.Students     = this.studentsService.GetAllByCourse <AllStudentsByCourseViewModel>(courseId);
            try
            {
                await this.absencesService.CreateAsync(input);

                this.TempData["SuccessMessage"] = "You create successfully attendance/s!";
            }
            catch (Exception ex)
            {
                this.TempData["ErrorMessage"] = ex.Message;
            }

            return(this.RedirectToAction(nameof(this.AllByCourseAndLecture), new { courseId, lectureId }));
        }
Exemplo n.º 2
0
        public IActionResult Create(int courseId, string courseName, int lectureId, string lectureTitle)
        {
            CreateAbsenceListInputModel input = new CreateAbsenceListInputModel
            {
                Students = this.studentsService.GetAllByCourse <AllStudentsByCourseViewModel>(courseId),
            };

            input.CourseId     = courseId;
            input.CourseName   = courseName;
            input.LectureId    = lectureId;
            input.LectureTitle = lectureTitle;

            return(this.View(input));
        }
Exemplo n.º 3
0
        public async Task CreateAsync(CreateAbsenceListInputModel input)
        {
            for (int i = 0; i < input.Students.Count(); i++)
            {
                Absence absence = new Absence
                {
                    CourseId  = input.CourseId,
                    LectureId = input.LectureId,
                    StudentId = input.Students.ToList()[i].Id,
                    Type      = input.Inputs[i].Type,
                    Reason    = input.Inputs[i].Reason,
                };

                if (!this.absencesRepository.All().Any(a => a.CourseId == absence.CourseId && a.LectureId == absence.LectureId && a.StudentId == absence.StudentId))
                {
                    await this.absencesRepository.AddAsync(absence);
                }
            }

            await this.absencesRepository.SaveChangesAsync();
        }