public JobSkillWeight GetJobSkillWeights(Job job)
        {
            var candidateSkillWeight = new JobSkillWeight()
            {
                Job          = job,
                SkillWeights = SkillWeighStrategy.CalculateSkillWeights(job.Skills)
            };

            return(candidateSkillWeight);
        }
        public async Task <ActionResult> Adjust([FromBody] JobSkillWeight jobSkillWeightRequest)
        {
            try
            {
                await _jobSkillWeightService.AdjustJobSkillWeight(jobSkillWeightRequest);

                return(Ok(jobSkillWeightRequest));
            }
            catch (Exception e)
            {
                return(BadRequest(e.Message));
            }
        }
        public async Task AdjustJobSkillWeight(JobSkillWeight jobSkillWeight)
        {
            var jobSkillWeights = await GetJobSkillWeights();

            var jsw = jobSkillWeights.FirstOrDefault(j => j.Name == jobSkillWeight.Name);

            if (jsw != null)
            {
                jsw.Weight = jobSkillWeight.Weight;
                jsw.Common = jobSkillWeight.Common;
            }

            using (var fs = File.Create(_jobSkillWeightsFile))
            {
                await JsonSerializer.SerializeAsync <IEnumerable <JobSkillWeight> >(fs, jobSkillWeights, new JsonSerializerOptions { WriteIndented = true });
            }
        }