public virtual async Task <OrganizationPart> Update(OrganizationPart data) { if (data == null) { throw new ArgumentNullException(nameof(data)); } await using var transaction = await _context.Database .BeginTransactionAsync() .ConfigureAwait(false); try { _context.OrganizationParts.Update(data); 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 override async Task <OrganizationPart> Update(OrganizationPart data) { if (data == null) { throw new ArgumentNullException(nameof(data)); } var isExist = await IsPartExist(data.LeftHandPart, data.RightHandPart) .ConfigureAwait(false); if (!isExist) { return(await base.Update(data).ConfigureAwait(false)); } throw new OperationCanceledException( $"Unable to update part number because {data.LeftHandPart} - {data.RightHandPart} already exist in the database" ); }
public async Task <IActionResult> PutMachine(OrganizationPart data) { if (data == null) { return(BadRequest()); } try { var result = await _service.Update(data).ConfigureAwait(false); return(Ok(result)); } catch (Exception e) { return(BadRequest(e.Message)); } }