Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
        public IActionResult UpdateCandidate(CandidateForManipulationDTO candidate, Guid id)
        {
            if (candidate == null)
            {
                return(BadRequest());
            }

            var candidateUpdated = _candidateService.UpdateCandidate(candidate, id);

            return(Ok(candidateUpdated));
        }
Esempio n. 3
0
        public IActionResult CreateCandidate([FromBody] CandidateForManipulationDTO candidate)
        {
            if (candidate == null)
            {
                return(BadRequest());
            }

            var candidateCreated = _candidateService.AddCandidate(candidate);

            return(CreatedAtRoute("GetCandidate", new { candidateCreated.Id }, candidateCreated));
        }
Esempio n. 4
0
        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));
        }