public CandidateDTO UpdateCandidate(CandidateForManipulationDTO candidate, Guid id) { var candidateFromDB = _candidateRepository.GetCandidateWithFullData(id); if (candidateFromDB == null) { var candidateToAdd = _mapper.Map <Candidate>(candidate); candidateToAdd.Id = id; _candidateRepository.Add(candidateToAdd); if (!_candidateRepository.Save()) { throw new Exception("Error during candidate upserting!"); } var candidateUpserted = _mapper.Map <CandidateDTO>(candidateToAdd); return(candidateUpserted); } else { var candidateToUpdate = _mapper.Map(candidate, candidateFromDB); _candidateRepository.Update(candidateToUpdate); if (!_candidateRepository.Save()) { throw new Exception("Error during Candidate updating!"); } var candidateUpdated = _mapper.Map <CandidateDTO>(candidateToUpdate); return(candidateUpdated); } }
public IActionResult UpdateCandidate(CandidateForManipulationDTO candidate, Guid id) { if (candidate == null) { return(BadRequest()); } var candidateUpdated = _candidateService.UpdateCandidate(candidate, id); return(Ok(candidateUpdated)); }
public IActionResult CreateCandidate([FromBody] CandidateForManipulationDTO candidate) { if (candidate == null) { return(BadRequest()); } var candidateCreated = _candidateService.AddCandidate(candidate); return(CreatedAtRoute("GetCandidate", new { candidateCreated.Id }, candidateCreated)); }
public CandidateDTO AddCandidate(CandidateForManipulationDTO candidate) { var candidateToAdd = _mapper.Map <Candidate>(candidate); _candidateRepository.Add(candidateToAdd); if (!_candidateRepository.Save()) { throw new Exception("Adding Candidate has been failed!"); } return(_mapper.Map <CandidateDTO>(candidateToAdd)); }