Пример #1
0
        public async Task <IActionResult> PutStudent(string id, Student student)
        {
            if (id != student.IndexNumber)
            {
                return(BadRequest());
            }

            _context.Entry(student).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!StudentExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Пример #2
0
        public async Task <ActionResult <Enrollment> > EnrollStudent(EnrollStudentRequest request)
        {
            var response = new EnrollStudentResponse();
            var studyId  = await _context.Studies
                           .Where(s => s.Name == request.Studies)
                           .Select(study => study.IdStudy)
                           .FirstOrDefaultAsync();

            try
            {
                if (studyId.Equals(null))
                {
                    return(BadRequest("Zadane studia nie istnieją."));
                }

                int enrollmentId         = 0;
                var existingEnrollmentId = await _context.Enrollment
                                           .Where(enrollment => (enrollment.IdStudy == studyId) && (enrollment.Semester == 1))
                                           .Select(enrollment => enrollment.IdEnrollment)
                                           .FirstOrDefaultAsync();

                if (existingEnrollmentId.Equals(null))
                {
                    var id = await _context.Enrollment
                             .OrderByDescending(e => e.IdEnrollment)
                             .Select(e => e.IdEnrollment)
                             .FirstOrDefaultAsync();

                    var enrollment = new Enrollment
                    {
                        StartDate    = DateTime.Now.Date,
                        IdEnrollment = ++id,
                        IdStudy      = studyId,
                        Semester     = 1
                    };

                    await _context.Enrollment.AddAsync(enrollment);

                    await _context.SaveChangesAsync();
                }
                else
                {
                    enrollmentId = existingEnrollmentId;
                }

                response.Semester  = 1;
                response.StartDate = DateTime.Now.Date;
            }
            catch (Exception e)
            {
                return(BadRequest(e));
            }

            return(Ok(response));
        }