public async Task <CheckSheetEntry> Create(CheckSheetEntry data) { if (data == null) { throw new ArgumentNullException(nameof(data)); } await using var transaction = await _context.Database .BeginTransactionAsync() .ConfigureAwait(false); try { await _context.CheckSheetEntries.AddAsync(data).ConfigureAwait(false); await _context.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 <CheckSheetEntry> Update(CheckSheetEntry data) { if (data == null) { throw new ArgumentNullException(nameof(data)); } await using var transaction = await _context.Database .BeginTransactionAsync() .ConfigureAwait(false); try { _context.CheckSheetEntries.Update(data); await _context.SaveChangesAsync().ConfigureAwait(false); await transaction.CommitAsync().ConfigureAwait(false); return(await _context.CheckSheetEntries .Include(x => x.Rechecks) .FirstOrDefaultAsync(x => x.CheckSheetEntryId == data.CheckSheetEntryId)); } catch (Exception e) { await transaction.RollbackAsync().ConfigureAwait(false); throw new Exception(e.Message); } }
public async Task <CheckSheetEntry> AddOrUpdate(CheckSheetEntry data) { var entity = await IsExist(data); if (entity != null) { data.CheckSheetEntryId = entity.CheckSheetEntryId; } return(await Update(data)); }
public async Task <IActionResult> Post(CheckSheetEntry data) { if (data == null) { return(BadRequest()); } try { switch (data.Value) { case null when data.ValueBool == null && data.CheckSheetEntryId == 0: return(Ok( new CheckSheetResultDto { Status = 0, StatusText = "Null entry", Result = data } )); case null when data.ValueBool == null && data.CheckSheetEntryId > 0: await _service.Delete(data.CheckSheetEntryId); return(Ok( new CheckSheetResultDto { Status = 1, StatusText = "Delete", Result = data } )); default: return(Ok( new CheckSheetResultDto { Status = 2, StatusText = "Add/Update", Result = await _service.Update(data).ConfigureAwait(false) } )); } } catch (Exception e) { return(BadRequest(e.Message)); } }
public async Task <CheckSheetEntry> IsExist(CheckSheetEntry data) { var result = await _context.CheckSheetEntries .AsNoTracking() .FirstOrDefaultAsync( x => x.CharacteristicId == data.CharacteristicId && x.Part == data.Part && x.Frequency == data.Frequency && x.CheckSheetId == data.CheckSheetId && x.SubMachineId == data.SubMachineId ) .ConfigureAwait(false); return(result); }