public async Task <IActionResult> UpdateJob(int userId, string jobNum, JobForUpdateDto jobForUpdateDto) { if (userId != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value)) { return(Unauthorized()); } var jobFromRepo = await _repo.GetJob(userId, jobNum); _mapper.Map(jobForUpdateDto, jobFromRepo); if (await _repo.SaveAll()) { return(CreatedAtRoute("GetJob", new { jobNum = jobFromRepo.JobNumber, userId = userId }, jobForUpdateDto)); } var newData = _mapper.Map(jobForUpdateDto, jobFromRepo); if (jobFromRepo == newData) { return(Ok(jobForUpdateDto)); } throw new Exception($"Updating job lot {jobNum} failed on save"); }
public async Task <IActionResult> AddOperation(int userId, OperationForCreationDto opForCreationDto) { if (userId != int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value)) { return(Unauthorized()); } var op = _mapper.Map <Operation>(opForCreationDto); var jobInfo = await _repo.GetJob(userId, opForCreationDto.JobNumber); op.JobNumber = jobInfo.JobNumber; op.userId = userId; _repo.Add(op); if (await _repo.SaveAll()) { var opToReturn = _mapper.Map <OperationForReturnDto>(op); return(CreatedAtRoute("GetOp", new { jobNum = op.JobNumber, opNum = op.OpNumber, userId = userId }, opToReturn)); } throw new Exception("Creation of op lot failed on save"); }