// E.g. POST http://localhost/Products public async Task <IHttpActionResult> Post(T obj) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } TableForT().Add(obj); await db.SaveChangesAsync(); return(Created(obj)); }
/// <summary> /// Salvar informações na base de dados de forma assíncrona. /// </summary> public async Task <bool> CommitAsync() { using (var transaction = await _dbContext.Database.BeginTransactionAsync()) { try { await _dbContext.SaveChangesAsync(); await Task.Run(() => transaction.Commit()); OperationSuccesful = true; OperationMessage = Info.OperationSuccess; } catch (DbUpdateException ex) { transaction.Rollback(); OperationSuccesful = false; OperationMessage = string.Format(Errors.Rollback_0, ex.GetMessages()); } catch (Exception ex) { transaction.Rollback(); OperationSuccesful = false; OperationMessage = string.Format(Errors.Error_0, ex.GetMessages()); } finally { DetachAll(); } } return(OperationSuccesful); }
public async Task <int> CommitAsync() { var transId = -1; if (_context == null) { throw new ArgumentNullException(nameof(_context)); } else if (_context.ChangeTracker.HasChanges()) { using (var dbContextTransaction = await _context.Database.BeginTransactionAsync()) { try { transId = await _context.SaveChangesAsync(); dbContextTransaction.Commit(); } catch (Exception ex) { dbContextTransaction.Rollback(); throw new Exception(ex.ToString()); } } } return(transId); }
public async Task AddAsync(TEntity entity) { await _context.Set <TEntity>().AddAsync(entity); await _context.SaveChangesAsync(); }