예제 #1
0
        public void Update(UpdateProcessContract updateProcessContract)
        {
            var process = _mapper.Map <Process>(updateProcessContract);

            process.Status       = SetProcessStatus(process);
            process.CurrentStage = SetProcessCurrentStage(process);

            var candidate = _candidateRepository.QueryEager().FirstOrDefault(c => c.Id == process.Candidate.Id);

            candidate.EnglishLevel = process.HrStage.EnglishLevel;
            candidate.Status       = SetCandidateStatus(process.Status);
            process.Candidate      = candidate;
            //_candidateRepository.Update(candidate);

            _hrStageRepository.Update(process.HrStage);
            _technicalStageRepository.Update(process.TechnicalStage);
            _clientStageRepository.Update(process.ClientStage);
            _offerStageRepository.Update(process.OfferStage);


            //this.AddRecruiterToCandidate(process.Candidate, updateProcessContract.Candidate.Recruiter.Id);
            //this.AddCommunityToCandidate(process.Candidate, updateProcessContract.Candidate.Community);
            //this.AddCandidateProfileToCandidate(process.Candidate, updateProcessContract.Candidate.Profile);
            //this.AddOfficeToCandidate(process.Candidate, updateProcessContract.Candidate.PreferredOfficeId);

            var updatedProcess = _processRepository.Update(process);

            _unitOfWork.Complete();
        }
예제 #2
0
        public void Update(UpdateProcessContract updateProcessContract)
        {
            var process = _mapper.Map <Process>(updateProcessContract);

            process.Status = SetProcessStatus(process);
            process.Candidate.EnglishLevel = process.HrStage.EnglishLevel;
            process.Candidate.Status       = SetCandidateStatus(process.Status);
            var updatedCandidate = _candidateRepository.Update(process.Candidate);


            _hrStageRepository.Update(process.HrStage);
            _technicalStageRepository.Update(process.TechnicalStage);
            _clientStageRepository.Update(process.ClientStage);
            _offerStageRepository.Update(process.OfferStage);


            this.AddRecruiterToCandidate(process.Candidate, updateProcessContract.Candidate.Recruiter);
            this.AddOfficeToCandidate(process.Candidate, updateProcessContract.Candidate.PreferredOfficeId);

            var updatedProcess = _processRepository.Update(process);

            _unitOfWork.Complete();
        }