public Task <bool> Handle(RegisterNewEmpregadoCommand message, CancellationToken cancellationToken) { if (!message.IsValid()) { NotifyValidationErrors(message); return(Task.FromResult(false)); } var empregado = new Empregado(Guid.NewGuid(), message.Nome, message.Sobrenome, message.Cargo, message.DataAdmissao, message.DataNascimento); if (_empregadoRepository.GetByNome(empregado.Nome) != null) { Bus.RaiseEvent(new DomainNotification(message.MessageType, "O nome do Empregado já foi recebido")); return(Task.FromResult(false)); } _empregadoRepository.Add(empregado); if (Commit()) { Bus.RaiseEvent(new EmpregadoRegisteredEvent(empregado.Id, empregado.Nome, empregado.Sobrenome, empregado.Cargo, empregado.DataAdmissao, empregado.DataNascimento)); } return(Task.FromResult(true)); }
public IActionResult PostEmpregado(EmpregadoDto empregadoDto) { try { bool coordenacaoExiste = _coordenacaoRepository.CoordenacaoExiste(empregadoDto.Coordenacao); if (!coordenacaoExiste) { return(Ok("Coordenação não existe")); } if (!_empregadoRepository.MatriculaExiste(empregadoDto.Matricula)) { var empregado = new Empregado { Id = _empregadoRepository.ObterId() + 1, Matricula = empregadoDto.Matricula, Nome = empregadoDto.Nome, CoordenacaoId = _coordenacaoRepository.ObterCoordenacaoIdPorNome(empregadoDto.Coordenacao), Ativo = true }; _empregadoRepository .Add(empregado); return(Ok($"Empregado matrícula: {empregado.Matricula} criado com sucesso.")); } return(Ok("Matrícula já existe")); } catch (Exception e) { return(BadRequest(e.Message)); } }