예제 #1
0
        public void Funcionario_InfraData_ObterPorId_Deve_Buscar_Funcionario_Com_Id_1()
        {
            _funcionario.Id = 1;

            var resultado = _funcionarioRepositorio.ObterPorId(_funcionario.Id);

            resultado.Should().NotBeNull();
            resultado.Id.Should().Be(_funcionario.Id);
        }
예제 #2
0
        public bool Excluir(int id)
        {
            Funcionario funcionario = _funcionarioRepositorio.ObterPorId(id);

            if (funcionario == null)
            {
                _notificationContext.AddNotification(TipoDeNotificacao.ErroDeServico, "Funcionário não encontrado");
                return(false);
            }

            _funcionarioRepositorio.Delete(funcionario);

            return(true);
        }
예제 #3
0
 public Funcionario ObterPorId(int id)
 {
     return(_funcionarioRepositorio.ObterPorId(id));
 }
예제 #4
0
        public void Armazenar(FuncionarioDto dto)
        {
            if (!CpfHelper.Valido(dto.Cpf))
            {
                _notificationContext.AddNotification(TipoDeNotificacao.ErroDeServico, "CPF inválido");
                return;
            }

            dto.Cpf = CpfHelper.RemoveMascara(dto.Cpf);

            Funcionario funcionario;

            if (dto.Id == 0)
            {
                funcionario = FuncionarioBuilder.Novo()
                              .ComNome(dto.Nome)
                              .ComCpf(dto.Cpf)
                              .ComDataContratacao(dto.DataContratacao)
                              .Build();
            }
            else
            {
                funcionario = _funcionarioRepositorio.ObterPorId(dto.Id);
                if (funcionario == null)
                {
                    _notificationContext.AddNotification(TipoDeNotificacao.ErroDeServico, "Funcionario não encontrado");
                    return;
                }

                List <Funcionario> funcionarios = _funcionarioRepositorio.ObterPorFiltro(string.Empty, dto.Cpf, null);

                if (funcionarios.Count > 0 && funcionarios.Any(x => x.Id != funcionario.Id))
                {
                    _notificationContext.AddNotification(TipoDeNotificacao.ErroDeServico, "CPF utilizado");
                    return;
                }

                funcionario.Nome            = dto.Nome;
                funcionario.Cpf             = dto.Cpf;
                funcionario.DataContratacao = dto.DataContratacao;
                funcionario.CargoId         = dto.CargoId;
                funcionario.EmpresaId       = dto.EmpresaId;

                _funcionarioRepositorio.Put(funcionario);
            }

            if (!funcionario.Validar())
            {
                _notificationContext.AddNotification(TipoDeNotificacao.ErroDeServico, "Funcionario inválido");
                return;
            }

            if (dto.Id == 0)
            {
                List <Funcionario> funcionarios = _funcionarioRepositorio.ObterPorFiltro(string.Empty, dto.Cpf, null);

                if (funcionarios.Count > 0)
                {
                    _notificationContext.AddNotification(TipoDeNotificacao.ErroDeServico, "CPF utilizado");
                    return;
                }

                _funcionarioRepositorio.Post(funcionario);
            }
        }