Esempio n. 1
0
        public Colaborador CadastrarColaborador(Colaborador colaborador)
        {
            if (colaborador == null)
            {
                throw new ArgumentNullException();
            }
            if (Existe(colaborador))
            {
                throw new JaExisteColaboradorException(colaborador);
            }

            return(_repositorio.Add(colaborador));
        }
        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);
        }
Esempio n. 3
0
        public Task Handle(CadastrarColaboradorCommand message, CancellationToken cancellationToken)
        {
            if (!message.IsValid())
            {
                NotifyValidationErrors(message);
                return(Task.CompletedTask);
            }

            var colaborador = new Colaborador(Guid.NewGuid(), message.Login, message.Nome, message.CargoId, message.CPF, message.DependenciaId,
                                              message.PerfilId, message.Email, message.UnidadeId, message.SuperiorImediatoId, message.CadastroIncompleto, message.Ativo);

            _colaboradorRepository.Add(colaborador);

            if (Commit())
            {
                Bus.RaiseEvent(new ColaboradorRegisteredEvent(colaborador.Id, colaborador.Login, colaborador.Nome, colaborador.CargoId, colaborador.CPF,
                                                              colaborador.DependenciaId, colaborador.PerfilId, colaborador.Email, colaborador.UnidadeId,
                                                              colaborador.SuperiorImediatoId, colaborador.CadastroIncompleto, colaborador.Ativo));
                return(Task.CompletedTask);
            }

            return(Task.CompletedTask);
        }
Esempio n. 4
0
        public void Add(ColaboradorViewModel obj)
        {
            var colaborador = Mapper.Map <Colaborador>(obj);

            _colaboradorRepository.Add(colaborador);
        }