public JobFunctionDTO GetJobFunctionById(int jobFunctionId)
        {
            JobFunctionDTO jobFunction = new JobFunctionDTO();

            var jobFunctionEntity = _jobFunctionRepository.FirstOrDefault(jobFunctionId);

            if (jobFunctionEntity == null)
            {
                return(null);
            }

            jobFunction.JobFunctionID        = jobFunctionEntity.Id;
            jobFunction.JobFunctionTitle     = jobFunctionEntity.JobFunctionTitle;
            jobFunction.RequiredCompetencies = jobFunctionEntity.ArrayOfCompetencies.ToList();

            return(jobFunction);
        }
Example #2
0
        public void GetJobFunctionByIdShoudReturnNull()
        {
            //Arrange
            JobFunction a = new JobFunction()
            {
                Id = 1,
                JobFunctionTitle    = "title1",
                RequiredCompetences = "1,2,11",
            };
            JobFunction b = new JobFunction()
            {
                Id = 2,
                JobFunctionTitle    = "title2",
                RequiredCompetences = "1,2,11",
            };
            JobFunction c = new JobFunction()
            {
                Id = 3,
                JobFunctionTitle    = "title3",
                RequiredCompetences = "1,2,11",
            };
            List <JobFunction> jobfunctionList = new List <JobFunction>()
            {
                a, b, c
            };

            //Mock
            mockFunctionRepository.Setup(repo => repo.FirstOrDefault(1)).Returns(a);
            mockFunctionRepository.Setup(repo => repo.FirstOrDefault(2)).Returns(b);
            mockFunctionRepository.Setup(repo => repo.FirstOrDefault(3)).Returns(c);



            //Act
            JobFunctionDTO output = sutJobFunctionService.GetJobFunctionById(10);

            //Assert
            Assert.Null(output);
            //Assert.IsNull(output.JobFunctionTitle); //bug when id is out of range, please fix it
        }
        public ListJobFunctionDTO GetAllJobFunctions()
        {
            List <JobFunction> JobFunctionList = _jobFunctionRepository.GetAllList();

            List <JobFunctionDTO> jobFunctionDtos = new List <JobFunctionDTO>();

            foreach (JobFunction jobFunction in JobFunctionList)
            {
                JobFunctionDTO jobFunctionDto = new JobFunctionDTO();

                jobFunctionDto.JobFunctionID        = jobFunction.Id;
                jobFunctionDto.JobFunctionTitle     = jobFunction.JobFunctionTitle;
                jobFunctionDto.RequiredCompetencies = jobFunction.ArrayOfCompetencies.ToList();

                jobFunctionDtos.Add(jobFunctionDto);
            }

            ListJobFunctionDTO listJobFunctionDto = new ListJobFunctionDTO();

            listJobFunctionDto.JobFunctionList = jobFunctionDtos;
            return(listJobFunctionDto);
        }
Example #4
0
        public void GetJobFunctionByIdShoudReturnSameJobfunction()
        {
            //Arrange
            JobFunction a = new JobFunction()
            {
                Id = 1,
                JobFunctionTitle    = "title1",
                RequiredCompetences = "1,2,11",
            };
            JobFunction b = new JobFunction()
            {
                Id = 2,
                JobFunctionTitle    = "title2",
                RequiredCompetences = "1,2,11",
            };
            JobFunction c = new JobFunction()
            {
                Id = 3,
                JobFunctionTitle    = "title3",
                RequiredCompetences = "1,2,11",
            };
            List <JobFunction> jobfunctionList = new List <JobFunction>()
            {
                a, b, c
            };

            //Mock
            mockFunctionRepository.Setup(repo => repo.FirstOrDefault(1)).Returns(a);
            mockFunctionRepository.Setup(repo => repo.FirstOrDefault(2)).Returns(b);
            mockFunctionRepository.Setup(repo => repo.FirstOrDefault(3)).Returns(c);



            //Act
            JobFunctionDTO output = sutJobFunctionService.GetJobFunctionById(2);

            //Assert
            Assert.AreEqual("title2", output.JobFunctionTitle);
        }
Example #5
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);
            }
        }