Example #1
0
        public async Task <EnrollmentStudentResponse> EnrollStudentAsync(EnrollmentStudenRequest request)
        {
            var studiesExists = _studentContext.Studies.Any(s => s.Name == request.Studies);

            if (!studiesExists)
            {
                return(null);
            }
            var studiesList      = _studentContext.Studies.Where(s => s.Name == request.Studies).ToList();
            int idStudy          = studiesList[0].IdStudy;
            int enrollmentID     = 1;
            var enrollmentExists = _studentContext.Enrollment.Any(e => e.IdStudy == idStudy && e.Semester == 1);

            if (enrollmentExists)
            {
                var enrollmentsList = _studentContext.Enrollment.Where(e => e.IdStudy == idStudy && e.Semester == 1).ToList();
                enrollmentID = enrollmentsList[0].IdEnrollment;
            }
            else
            {
                var m = new Enrollment
                {
                    Semester  = 1,
                    IdStudy   = idStudy,
                    StartDate = DateTime.Now
                };
                _studentContext.Enrollment.Add(e);
                _studentContext.SaveChanges();
                enrollmentID = m.IdEnrollment;
            }
            var exists = _studentContext.Student.Any(s => s.IndexNumber == request.IndexNumber);

            if (exists)
            {
                return(null);
            }
            var isq = new InsertStudentRequest
            {
                IndexNumber  = request.IndexNumber,
                FirstName    = request.FirstName,
                LastName     = request.LastName,
                BirthDate    = request.BirthDate,
                IdEnrollment = enrollmentID,
                Password     = request.Password
            };

            await AddStudentAsync(isq);

            var enrollStudentList = _studentContext.Enrollment.Where(e => e.IdEnrollment == enrollmentID).ToList();
            var esr = new EnrollmentStudentResponse
            {
                IdEnrollment = enrollStudentList[0].IdEnrollment,
                IdStudy      = enrollStudentList[0].IdStudy,
                Semester     = enrollStudentList[0].Semester,
                StartDate    = enrollStudentList[0].StartDate
            };

            return(esr);
        }
Example #2
0
        public async Task <IActionResult> EnrollStudentAsync(EnrollmentStudenRequest request)
        {
            EnrollmentStudentResponse enrollStudentResponse = await _db.EnrollStudentAsync(request);

            if (enrollStudentResponse == null)
            {
                return(BadRequest());
            }
            return(this.StatusCode(201, enrollStudentResponse));
        }