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"); }