예제 #1
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 <ActionResult <Enrollment> > Post(
            int orgId,
            int siteId,
            Enrollment enrollment
            )
        {
            // Creating enrollment with Id not allowed
            if (enrollment.Id != 0)
            {
                return(BadRequest());
            }

            _enrollments.AddEnrollment(enrollment);
            await _enrollments.SaveChangesAsync();

            return(CreatedAtAction(
                       nameof(Get),
                       new { id = enrollment.Id, orgId = orgId, siteId = siteId },
                       enrollment
                       ));
        }
예제 #3
0
 public IActionResult AddEnrollment(Enrollment enrollment)
 {
     _EnrollmentRepository.AddEnrollment(enrollment);
     return(RedirectToAction("Index", "Home"));
 }
        public IActionResult AddEnrollment(Enrollement Enrollment)
        {
            var Enroll = _EnrollRepository.AddEnrollment(Enrollment);

            return(Created(HttpContext.Request.Scheme + "://" + HttpContext.Request.Host + HttpContext.Request.Path + "/" + Enroll.CourseCode, Enroll));
        }