public IActionResult CreateProgram([FromBody] ProgramForCreationDto Program) { try { if (Program == null) { _logger.LogError("Program object sent from client is null."); return(BadRequest("Program object is null")); } if (!ModelState.IsValid) { _logger.LogError("Invalid Program object sent from client."); return(BadRequest("Invalid model object")); } var ProgramEntity = _mapper.Map <Programs>(Program); _repository.Programs.CreateProgram(ProgramEntity); _repository.Save(); var createdProgram = _mapper.Map <ProgramDTO>(ProgramEntity); return(CreatedAtRoute("ProgramById", new { id = createdProgram.Id }, createdProgram)); } catch (Exception ex) { _logger.LogError($"Something went wrong inside CreateProgram action: {ex.Message}"); return(StatusCode(500, "Internal server error")); } }
public async Task <ActionResult <ProgramDto> > CreateProgram(int collegeId, [FromBody] ProgramForCreationDto program) { if (program == null) { return(BadRequest()); } if (program.Description == program.Name) { ModelState.AddModelError("Description", "The provided description should be different from the name."); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (!await _studyRouteRepository.CollegeExists(collegeId)) { return(NotFound()); } var finalProgram = _mapper.Map <Programs>(program); await _studyRouteRepository.AddProgramForCollege(collegeId, finalProgram); if (!await _studyRouteRepository.Save()) { return(StatusCode(500, "A problem happened while handling your request.")); } var createdProgramReturn = _mapper.Map <ProgramDto>(finalProgram); return(CreatedAtAction("GetProgramById", new { CollegeId = collegeId, id = createdProgramReturn.Id }, createdProgramReturn)); }