예제 #1
0
        //public List<NOTIFICACAO> ExecuteFilter(Int32? idCat, String titulo, DateTime? data, String texto, Int32? idAss)
        //{
        //    return _baseRepository.ExecuteFilter(idCat, titulo, data, texto, idAss);

        //}

        public Int32 Create(UNIDADE item, LOG log)
        {
            using (DbContextTransaction transaction = Db.Database.BeginTransaction(IsolationLevel.ReadCommitted))
            {
                try
                {
                    _logRepository.Add(log);
                    _baseRepository.Add(item);
                    transaction.Commit();
                    return(0);
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    throw ex;
                }
            }
        }
        public Task Handle(CadastrarUnidadeCommand message, CancellationToken cancellationToken)
        {
            if (!message.IsValid())
            {
                NotifyValidationErrors(message);
                return(Task.CompletedTask);
            }

            var unidade = new Unidade(Guid.NewGuid(), message.Nome);

            _unidadeRepository.Add(unidade);

            if (Commit())
            {
                Bus.RaiseEvent(new UnidadeRegisteredEvent(unidade.Id, unidade.Nome));
                return(Task.CompletedTask);
            }
            return(Task.CompletedTask);
        }