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()); }
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)); }