private void ValidateContract(CreateCandidateContract contract) { try { _createCandidateContractValidator.ValidateAndThrow(contract, $"{ValidatorConstants.RULESET_CREATE}"); } catch (ValidationException ex) { throw new CreateContractInvalidException(ex.ToListOfMessages()); } }
public CreatedCandidateContract Create(CreateCandidateContract contract) { _log.LogInformation($"Validating contract {contract.Name}"); ValidateContract(contract); ValidateExistence(0, contract.EmailAddress); _log.LogInformation($"Mapping contract {contract.Name}"); var candidate = _mapper.Map <Candidate>(contract); this.AddRecruiterToCandidate(candidate, contract.Recruiter); //this.AddOfficeToCandidate(candidate, contract.PreferredOfficeId); var createdCandidate = _candidateRepository.Create(candidate); _log.LogInformation($"Complete for {contract.Name}"); _unitOfWork.Complete(); _log.LogInformation($"Return {contract.Name}"); return(_mapper.Map <CreatedCandidateContract>(createdCandidate)); }