public async Task <EndOfShiftReport> UpdateEos(EndOfShiftReport data) { if (data == null) { throw new ArgumentNullException(nameof(data)); } await using var transaction = await _fmsb2Context.Database .BeginTransactionAsync() .ConfigureAwait(false); try { data.ShiftDate = data.ShiftDate.Date; _fmsb2Context.EndOfShiftReports.Update(data); await _fmsb2Context.SaveChangesAsync().ConfigureAwait(false); await transaction.CommitAsync().ConfigureAwait(false); return(data); } catch (Exception e) { await transaction.RollbackAsync().ConfigureAwait(false); throw new Exception(e.Message); } }
public async Task <bool> IsEosExist(EndOfShiftReport data) { return(await _fmsb2Context.EndOfShiftReports .AsNoTracking() .AnyAsync( x => x.ShiftDate == data.ShiftDate.Date && x.Shift == data.Shift && x.MachineId == data.MachineId ) .ConfigureAwait(false)); }
public async Task <EndOfShiftReport> AddOrUpdate(EndOfShiftReport data) { if (data == null) { throw new ArgumentNullException(nameof(data)); } var isExist = await IsEosExist(data).ConfigureAwait(false); if (!isExist) { return(await base.CreateEos(data).ConfigureAwait(false)); } return(await UpdateEos(data).ConfigureAwait(false)); }
public async Task <IActionResult> UpdateEos(EndOfShiftReport data) { if (data == null) { return(BadRequest()); } try { var result = await _endOfShiftReportService.UpdateEos(data).ConfigureAwait(false); return(Ok(result)); } catch (Exception e) { return(BadRequest(e.Message)); } }