private Skill MapRelatedCollectionOnCreation(SkillForCreationDto skill)
        {
            var skillEntity     = _mapper.Map <Skill>(skill);
            var mappedJobSkills = new List <JobSkill>();

            skill.JobSkills.ToList().ForEach(js => mappedJobSkills.Add(new JobSkill()
            {
                JobId = _unitOfWork.Jobs.GetJob(js.JobId).Id
            }));
            mappedJobSkills.ForEach(js => skillEntity.JobSkills.Add(js));

            return(skillEntity);
        }
        public IActionResult CreateSkill(SkillForCreationDto skill)
        {
            //var skillEntity = _mapper.Map<Skill>(skill);
            var skillEntity = MapRelatedCollectionOnCreation(skill);

            if (_unitOfWork.Skills.SkillExists(skillEntity))
            {
                return(Conflict(new { message = $"This Skill already exists in the database!" }));
            }

            _unitOfWork.Skills.AddSkill(skillEntity);
            _unitOfWork.Complete();

            var skillToReturn = _mapper.Map <SkillDto>(skillEntity);

            return(CreatedAtRoute("GetSkill",
                                  new { skillId = skillToReturn.Id },
                                  skillToReturn));
        }