public IActionResult CreateClassEntity( [FromBody] ClassEntityForCreationDto newClassEntityDto) { if (newClassEntityDto == null) { return(BadRequest()); } if (ModelState.IsValid == false) { return(BadRequest(ModelState)); } if (_repo.ClassEntityExists(newClassEntityDto.OwnerIdentityName)) { return(BadRequest("You already have a class.")); } var finalClassEntity = _mapper.Map <Entities.ClassEntity>(newClassEntityDto); _repo.AddClassEntity(finalClassEntity); if (!_repo.Save()) { return(StatusCode(500, $"A problem happened while handling your request to create a class for user {newClassEntityDto.OwnerIdentityName}.")); } var createdClassEntityToReturn = _mapper.Map <ClassEntityDto>(finalClassEntity); return(CreatedAtAction("GetClassEntityByOwnerIdentityName", new { ownerIdentityName = createdClassEntityToReturn.OwnerIdentityName }, createdClassEntityToReturn)); }