public async Task <ActionResult <TasksViewModel> > Post([FromBody] TasksViewModel _tasks) { if (_tasks == null) { return(BadRequest(new { error = "Não foi possível abrir tarefa, verifique!" })); } try { object result; ; if (!tasksRepository.ValidateUniqueTasksAsync(_tasks.Title).Result) { result = new { message = "Tarefa já existe" }; return(Ok(result)); } var _tasksSent = mapper.Map <Tasks>(_tasks); _tasksSent.ChangeDateForStatus(EnTypeStatus.Open); await tasksRepository.Save(_tasksSent); dataTransaction.Commit(); result = new { message = "Tarefa criada" }; return(Ok(result)); } catch (Exception error) { dataTransaction.RollBack(); throw new Exception(error.Message.ToString()); } }
public virtual void ExecuteTransaction(Action work) { using (IDataTransaction tx = BeginTransaction()) { try { work.Invoke(); tx.Commit(); } catch (Exception) { tx.Rollback(); throw; } } }
public virtual TEntity ExecuteTransaction <TEntity>(TEntity entity, Action <TEntity> work) where TEntity : IEntity <TEntity>, IEquatable <TEntity> { using (IDataTransaction tx = BeginTransaction()) { try { work.Invoke(entity); tx.Commit(); return(entity); } catch (Exception) { tx.Rollback(); throw; } } }