예제 #1
0
 public Funcao Get(int idFuncao)
 {
     try
     {
         return(dbFuncao.GetById(idFuncao));
     }
     catch (Exception ex)
     {
         throw new Exception($"Erro ao pesquisar Funcao: {ex.Message}.");
     }
 }
예제 #2
0
        public async Task <bool> Handle(AlterarFuncaoCommand message, CancellationToken cancellationToken)
        {
            bool success = false;

            if (!message.EhValido())
            {
                await NotificarErrosValidacao(message);

                return(success);
            }
            var funcaoDatabase = _funcaoRepository.GetById(message.Data.Id);

            if (funcaoDatabase == null)
            {
                await _mediatorHandler.PublicarNotificacao(new DomainNotification(message.MessageType, $"A função com o Id {message.Data.Id} não foi localizado!"));

                return(success);
            }

            try
            {
                funcaoDatabase.AlteraDescricao(message.Data.Descricao);
                funcaoDatabase.AlteraPermissaoAutorizacaoViagem(message.Data.PermitirAutorizarViagem);
                funcaoDatabase.AlteraPermissaoCriacaoViagem(message.Data.PermitirCriarViagem);
                funcaoDatabase.AlteraLimiteOrcamentoViagem(message.Data.LimiteOrcamentoViagem);

                _funcaoRepository.Update(funcaoDatabase);
                success = await Commit();
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex.Message);
                await _mediatorHandler.PublicarNotificacao(new DomainNotification(message.MessageType, $"Ocorreu um erro inesperado ao Alterar Função"));

                return(success);
            }
            if (success)
            {
                await _mediatorHandler.PublicarEvento(new Events.Funcao.FuncaoAlteradaEvent(funcaoDatabase));
            }
            return(success);
        }
예제 #3
0
        public IActionResult Delete(int id, [FromServices] IFuncaoRepository repository)
        {
            try
            {
                var funcionario = repository.GetById(id);
                repository.Delete(funcionario);

                return(Ok(""));
            }
            catch (Exception e)
            {
                return(StatusCode(500, e.Message));
            }
        }
        public async Task <bool> Handle(AdicionarColaboradorCommand message, CancellationToken cancellationToken)
        {
            var success = await Validar(message) && await AdicionarColaboradorCommandEhConsistente(message);

            if (!success)
            {
                return(success);
            }
            try
            {
                if (message.FuncaoId.HasValue)
                {
                    var funcao = _funcaoRepository.GetById(message.FuncaoId.Value);
                    message.Data.AtribuirFuncao(funcao);
                }
                foreach (var id in message.TipoPagamentoIds)
                {
                    var tipoPagamento            = _tipoPagamentoRepository.GetById(id);
                    var tipoPagamentoColaborador = new TiposPagamentoColaborador(tipoPagamento, message.Data);
                    message.Data.AtribuirTipoPagamento(tipoPagamentoColaborador);
                }
                _colaboradorRepository.Add(message.Data);
                await _colaboradorRepository.UnitOfWork.Commit();

                success = true;
            }
            catch (Exception ex)
            {
                success = false;
                Debug.WriteLine(ex.Message);
                await _mediatorHandler.PublicarNotificacao(new DomainNotification(message.MessageType, $"Ocorreu um erro inesperado ao Adicionar Colaborador"));

                return(success);
            }
            if (success)
            {
                await _mediatorHandler.PublicarEvento(new Events.Colaborador.ColaboradorAdicionadoEvent(message.Data));
            }
            return(success);
        }
예제 #5
0
 public FuncaoViewModel ObterPorId(Guid id)
 {
     return(_mapper.Map <FuncaoViewModel>(_funcaoRepository.GetById(id)));
 }
 public Funcao GetById(Guid id)
 {
     return(_repository.GetById(id));
 }