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); }
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); }
public Funcionario ObterPorId(int id) { return(_funcionarioRepositorio.ObterPorId(id)); }
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); } }