public async Task <IActionResult> UpdateLSVialWithoutJobAddition(int id, [FromBody] LSVialDTO updatedLSVial) { var lSVial = await _context.LSVials.FindAsync(id); lSVial.SerialNumber = updatedLSVial.SerialNumber; lSVial.Status = updatedLSVial.Status; lSVial.TestStart = updatedLSVial.TestStart; lSVial.TestFinish = updatedLSVial.TestStart.AddDays(2); var user = await _context.Users.FindAsync(User.Identity.Name); lSVial.LastUpdatedBy = user.UserName + DateTime.UtcNow.ToShortDateString(); await _context.SaveChangesAsync(); return(CreatedAtAction( nameof(UpdateLSVialWithoutJobAddition), _lsVialMapper.Map <LSVialDTO>(lSVial))); }
public async Task <IActionResult> AddNewLSVial([FromBody] LSVialDTO newLSVial) { if (await _context.LSVials.AnyAsync(x => x.SerialNumber.Equals(newLSVial.SerialNumber))) { return(BadRequest("Error: A LS Vial already exists with that Serial Number.")); } var user = await _context.Users.FindAsync(User.Identity.Name); var lSVial = new LSVial() { SerialNumber = newLSVial.SerialNumber, Status = newLSVial.Status, TestStart = newLSVial.TestStart, TestFinish = newLSVial.TestStart.AddDays(2), JobHistory = new List <Job> { }, LastUpdatedBy = user.UserName + DateTime.UtcNow.ToShortDateString() }; Job job; bool jobExists = await _context.Jobs.AnyAsync(x => x.JobNumber.Equals(newLSVial.JobNumber)); if (jobExists) { job = await _context.Jobs.FirstOrDefaultAsync(y => y.JobNumber == newLSVial.JobNumber); } else { job = new Job() { JobNumber = newLSVial.JobNumber }; await _context.Jobs.AddAsync(job); } lSVial.JobHistory.Add(job); await _context.LSVials.AddAsync(lSVial); await _context.SaveChangesAsync(); return(CreatedAtAction( nameof(GetLSVialBySerialNumber), new { sn = lSVial.SerialNumber, jobNum = job.JobNumber, user, dateCreated = DateTime.UtcNow })); }