Exemplo n.º 1
0
        /// <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);
            }
        }
Exemplo n.º 2
0
        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);
        }