public IActionResult GetEnrollment(int EnrollId)
        {
            var Enroll = _EnrollRepository.GetEnrollment(EnrollId);

            if (Enroll == null)
            {
                return(NotFound($"The following Course Information with this :{EnrollId} is not found"));
            }
            return(Ok(Enroll));
        }
Exemple #2
0
        public async Task <IActionResult> CreateEnrollment([FromBody] EnrollmentResource enrollmentResource)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var enrollment = mapper.Map <EnrollmentResource, Enrollment>(enrollmentResource);
            var student    = await studentRepository.GetStudentByEmail(enrollmentResource.StudentEmail);

            enrollment.Student = student;

            var lecturer = await lecturerRepository.GetLecturer(enrollmentResource.LecturerId);

            enrollment.Lecturer = lecturer;
            SendMail(student.Name, lecturer.Email);
            //case: enrollment's type and project's type is different and the student has been already in group
            var group = await groupRepository.GetGroup(enrollmentResource.GroupId);

            if (group != null && group.Project.Type != enrollmentResource.Type)
            {
                ModelState.AddModelError("Error", "Enrollment's type and Project Type of Group are not the same.");
                return(BadRequest(ModelState));
            }
            else if (group != null && !groupRepository.CheckEnrollment(group, enrollment))
            {
                ModelState.AddModelError("Warning", "This group already has this student.");
                return(BadRequest(ModelState));
            }
            else
            {
                enrollment.Group = group;
            }

            var quarter = await quarterRepository.GetQuarter(enrollmentResource.QuarterId);

            enrollment.Quarter = quarter;

            enrollmentRepository.AddEnrollment(enrollment);
            await unitOfWork.Complete();

            enrollment = await enrollmentRepository.GetEnrollment(enrollment.EnrollmentId);

            var result = mapper.Map <Enrollment, EnrollmentResource>(enrollment);

            return(Ok(result));
        }
        public async Task <EnrollmentDto> GetEnrollment(int enrollmentId)
        {
            var userId     = _httpContextAccessor.HttpContext.User.GetUserId();
            var enrollment = await _enrollmentRepository.GetEnrollment(enrollmentId);

            if (enrollment == null || enrollment.StudentId != userId)
            {
                return(null);
            }

            return(_mapper.Map <EnrollmentDto>(enrollment));
        }