示例#1
0
        public async Task Adicionar(Funcionario funcionario)
        {
            if (!ExecutarValidacao(new FuncionarioValidation(), funcionario) ||
                !ExecutarValidacao(new EnderecoValidation(), funcionario.Endereco))
            {
                return;
            }

            if (_funcionarioRepository.Buscar(f => f.CPF == funcionario.CPF).Result.Any())
            {
                Notificar("Já existe um funcionrio com este documento infomado.");
                return;
            }

            await _funcionarioRepository.Adicionar(funcionario);
        }
        private bool ValidacaoRepositorio(Funcionario entidade)
        {
            var cpf = entidade.Documentos.FirstOrDefault(d => d.Tipo == TipoDocumento.CPF);

            if (cpf != null && _repository.Buscar(f => f.Id != entidade.Id && f.Documentos.Any(d => d.Tipo == TipoDocumento.CPF && d.Numero.Equals(cpf.Numero))).Result.Any())
            {
                Notificar("Já existe um funcionário cadastrado com o CPF informado!");
                return(false);
            }

            return(true);
        }
示例#3
0
        public IEnumerable <Funcionario> ObterTodosPorEstabelecimentoEhStatus(Guid idEstabelecimento, bool ativo)
        {
            var lista = _funcionarioRepository.Buscar(m => m.EstaAtivo == ativo && m.EstabelecimentoId == idEstabelecimento).ToList();

            foreach (var item in lista)
            {
                item.Estabelecimento.AnularListaDeFuncionario();

                item.AdicionarEndereco(_enderecoRepository.ObterPorPessoaId(item.IdPessoa));
                item.DefinirUsuario(_usuarioRepository.ObterPorPessoaId(item.IdPessoa));
            }

            return(lista);
        }
示例#4
0
        public void Handle(RegistrarFuncionarioCommand message)
        {
            var funcionario = new Funcionario(message.Id, message.Nome, message.Email);

            if (!funcionario.EhValido())
            {
                NotificarValidacoesErro(funcionario.ValidationResult);
                return;
            }

            var funcionarioExistente = _funcionarioRepository.Buscar(f => f.Email == funcionario.Email);

            if (funcionarioExistente.Any())
            {
                _bus.RaiseEvent(new DomainNotification(message.MessageType, "Já existe um Documento Configuração criado com este nome"));
            }

            _funcionarioRepository.Adicionar(funcionario);

            if (Commit())
            {
                _bus.RaiseEvent(new FuncionarioRegistradoEvent(funcionario.Id, funcionario.Nome, funcionario.Email));
            }
        }
示例#5
0
        public List <Funcionario> ObterTodosAtivos()
        {
            var result = _funcionarioRepository.Buscar(x => x.Delete.HasValue && !x.Delete.Value && x.Demitido == 0).OrderBy(x => x.Nome);

            return(result.ToList());
        }