public IActionResult CreateApplicationQualifications(int applicationId, [FromBody] List <int> qualificationIds) { if (!_applicationInfoRepository.ApplicationExists(applicationId)) { return(NotFound()); } foreach (int qualificationId in qualificationIds) { if (!_applicationInfoRepository.QualificationExists(qualificationId)) { return(NotFound()); } else { _applicationInfoRepository.AddApplicationQualifications( applicationId, _applicationInfoRepository.GetQualification(qualificationId) ); } } if (!_applicationInfoRepository.Save()) { return(StatusCode(500, "A problem happened while handling your request.")); } else { _mailService.Send("Additional Qualifications are linked to an Applicant", $"The application id is: {applicationId} "); } return(Ok()); }
public IActionResult CreateQualifications(int applicationId, [FromBody] QualificationForQualificationCreationDto qualification) { if (qualification == null) { return(BadRequest()); } // Built-in Error Validation if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (!_applicationInfoRepository.ApplicationExists(applicationId)) { return(NotFound()); } var finalQualification = Mapper.Map <Entities.Qualification>(qualification); _applicationInfoRepository.AddQualification(applicationId, finalQualification); if (!_applicationInfoRepository.Save()) { return(StatusCode(500, "A problem happened while handling your request.")); } return(Ok()); }
[HttpHead] // Do not transport content/body in response only Returns 200 Status Code & Headers public IActionResult GetApplicationCourseCampuses(int applicationId) { if (!_applicationInfoRepository.ApplicationExists(applicationId)) { return(NotFound()); } var applicationCourseCampuses = _applicationInfoRepository.GetCourseCampusesForApplication(applicationId); if (applicationCourseCampuses == null) { return(NotFound()); } var results = Mapper.Map <IEnumerable <ApplicationCourseCampusDto> >(applicationCourseCampuses); #region CreateLinksForApplicationCourseCampuses => Supporting HATEOAS (Base and Wrapper Class Approach) results = results.Select(acc => { acc = CreateLinksForApplicationCourseCampus(acc); return(acc); }); var wrapper = new LinkedCollectionResourceWrapperDto <ApplicationCourseCampusDto>(results); #endregion //return Ok(results); return(Ok(CreateLinksForApplicationCourseCampuses(wrapper))); }