public async Task <IActionResult> UpdateActivePart(int userId, string partNum, UpdateActiveDto partForUpdateDto)
        {
            if (userId != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value))
            {
                return(Unauthorized());
            }

            var partFromRepo = await _repo.GetPart(userId, partNum);

            _mapper.Map(partForUpdateDto, partFromRepo);

            if (await _repo.SaveAll())
            {
                return(CreatedAtRoute("GetPart", new { part = partFromRepo.PartNumber, userId = userId }, partForUpdateDto));
            }

            var newData = _mapper.Map(partForUpdateDto, partFromRepo);

            if (partFromRepo == newData)
            {
                return(Ok(partForUpdateDto));
            }

            throw new Exception($"Updating job lot {partNum} failed on save");
        }
        public async Task <IActionResult> AddJob(int userId, JobForCreationDto jobForCreationDto)
        {
            if (userId != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value))
            {
                return(Unauthorized());
            }

            var job = _mapper.Map <Job>(jobForCreationDto);

            job.Active = "Active";

            var partInfo = await _repo.GetPart(userId, jobForCreationDto.PartNumber);

            job.PartNumber = partInfo.PartNumber;
            job.userId     = userId;

            _repo.Add(job);

            if (await _repo.SaveAll())
            {
                var jobToReturn = _mapper.Map <JobForReturnDto>(job);
                return(CreatedAtRoute("GetJob", new { jobNum = job.JobNumber, userId = userId }, jobToReturn));
            }

            throw new Exception("Creation of job lot failed on save");
        }