Esempio n. 1
0
 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"));
     }
 }
Esempio n. 2
0
        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));
        }