/// <summary> /// Get a array id of competencies that the Trainee are missing from Job Fucntion /// </summary> /// <param name="jobFunctionId">A jobFunctionId that identify a Job Function</param> /// <param name="traineeId">A traineeId that identify a Trainee</param> /// <returns>Array id of competencies that the Trainee are missing from Job Fucntion</returns> private int[] GetExecuteData(int jobFunctionId, int traineeId) { try { int[] missingCompetencies = null; //Get job function and trainee by there ids JobFunctionDTO targetJobFunction = _jobFunctionAppService.GetJobFunctionById(jobFunctionId); Trainee sourceTrainee = _traineeRepository.FirstOrDefault(traineeId); //compare the list of competence required by the job function with the list of //competence gained by trainee missingCompetencies = _compareAppService.missingCompetencies( sourceTrainee.ArrayOfCompetence, targetJobFunction.RequiredCompetencies.ToArray()); return(missingCompetencies); } catch { return(null); } }
public FullTraineeDetailDTO GetFullTraineeInfo(string personAuthToken) { string username = _tokenAppService.GetUsernameByToken(personAuthToken); Trainee trainee = _traineeRepository.FirstOrDefault(thisTrainee => thisTrainee.Person.Username == username); if (trainee == null) { return(null); } FullTraineeDetailDTO fullTraineeDetailDto = new FullTraineeDetailDTO(); //Have a trainee fullTraineeDetailDto.TraineeID = trainee.Id; var person = _personRepository.Get(trainee.PersonId); fullTraineeDetailDto.Name = person.Name; fullTraineeDetailDto.DefaultDepartment = trainee.DefaultDepartment; #region Get array Job Function specialized with this trainee List <ShortJobFunctionDTO> shortJobFunctionDtos = new List <ShortJobFunctionDTO>(); var jobFunctions = _jobFunctionRepository.getJobFunctionsByJobFunctionIds(trainee.ArrayOfJobFunction); foreach (JobFunction jobFunction in jobFunctions) { ; shortJobFunctionDtos.Add(new ShortJobFunctionDTO( jobFunction.Id, jobFunction.JobFunctionTitle )); } fullTraineeDetailDto.JobFunctions = shortJobFunctionDtos; #endregion #region Get array Competencies specialized with this trainee List <CompetenceDTO> listCompetencies = new List <CompetenceDTO>(); var competencies = _competenceRepository.GetCompetenciesByCompetenceID(trainee.ArrayOfCompetence); foreach (Competence competence in competencies) { listCompetencies.Add(new CompetenceDTO( competence.Id, competence.Name, competence.Description )); } fullTraineeDetailDto.Competencies = listCompetencies; #endregion #region Get array targeted trainings specialized with this trainee List <TrainingDTO> targetedForTrainings = new List <TrainingDTO>(); var targetedPrograms = _trainingRepository.GetTrainingsByID(trainee.ArrayOfTargetedTraining); foreach (Training training in targetedPrograms) { targetedForTrainings.Add(CreateTrainingDTO(training)); } fullTraineeDetailDto.TargetedForTrainings = targetedForTrainings; #endregion #region Get array Trainings attented specialized with this trainee List <TrainingDTO> listAttentedTrainings = new List <TrainingDTO>(); var attentedTrainings = _trainingRepository.GetTrainingsByID(trainee.ArrayOfAttendedTraining); foreach (Training training in attentedTrainings) { listAttentedTrainings.Add(CreateTrainingDTO(training)); } fullTraineeDetailDto.TrainingsAttended = listAttentedTrainings; #endregion return(fullTraineeDetailDto); }