public async Task <IActionResult> AbsenceCreate(AbsenceCreateInputModel model)
        {
            if (this.ModelState.IsValid)
            {
                var serviceModel = model.To <AbsenceServiceModel>();

                var result = await this.absenceService.CreateAbsenceAsync(serviceModel);

                if (result)
                {
                    return(this.RedirectToAction("AbsencesAll", new { id = model.StudentId }));
                }
            }

            this.ViewBag.ClassId = model.ClassId;

            var subjects = await this.classService.GetAllSubjectsInClassDropdownAsync(model.ClassId);

            this.ViewBag.SubjectNames = subjects;

            this.ViewBag.StudentId = model.StudentId;

            var student = await this.studentService.GetStudentByIdAsync(model.StudentId);

            this.ViewBag.StudentName = student.FullName;

            this.ViewBag.ClassName = await this.classService.GetClassNameByIdAsync(model.ClassId);

            return(this.View(model));
        }
示例#2
0
        public IActionResult AddAbsence(int studentId, int subjectId, int teacherId)
        {
            var student    = _studentsService.GetById <StudentViewModel>(studentId);
            var inputModel = new AbsenceCreateInputModel()
            {
                Absence = new AbsenceInputModel
                {
                    TeacherId = teacherId,
                    StudentId = studentId,
                    SubjectId = subjectId,
                },
                StudentName = $"{student.FirstName} {student.LastName}"
            };

            return(View(inputModel));
        }
示例#3
0
        public async Task <IActionResult> AddAbsence(AbsenceCreateInputModel inputModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(inputModel));
            }

            try
            {
                await _absencesService.CreateAsync(inputModel.Absence);

                return(RedirectToAction("ById", "Subjects", new { area = string.Empty, id = inputModel.Absence.SubjectId }));
            }
            catch (Exception e)
            {
                _logger.LogError(e, $"An exception occured during new absence record creation. Ex: {e.Message}");
                return(RedirectToAction("Error", "Home"));
            }
        }