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); }
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); }
public void Add(ColaboradorViewModel obj) { var colaborador = Mapper.Map <Colaborador>(obj); _colaboradorRepository.Add(colaborador); }