Ejemplo n.º 1
0
        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());
            }
        }
Ejemplo n.º 2
0
 public virtual void ExecuteTransaction(Action work)
 {
     using (IDataTransaction tx = BeginTransaction()) {
         try {
             work.Invoke();
             tx.Commit();
         }
         catch (Exception) {
             tx.Rollback();
             throw;
         }
     }
 }
Ejemplo n.º 3
0
 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;
         }
     }
 }