public async Task ArmazenarAsync(FuncionarioDto funcionarioDto) { funcionarioDto = funcionarioDto ?? new FuncionarioDto(); var funcionario = funcionarioDto.Id == 0 ? CriarUmNovoFuncionario(funcionarioDto) : await _editarUmFuncionario.EditarAsync(funcionarioDto); if (NotificacaoDeDominio.HasNotifications) { return; } if (!funcionario.Validar()) { await NotificarValidacoesDeDominioAsync(funcionario.ValidationResult); } await _validadorCpfDaFuncionarioJaExistente.ValidarAsync(funcionario.Cpf, funcionario.Id); if (!NotificacaoDeDominio.HasNotifications && funcionario.Id == 0) { await _funcionarioRepositorio.AdicionarAsync(funcionario); } }
public async Task Armazenar(FuncionarioDto dto) { await ValidarFuncionarioComMesmoNome(dto); if (!NotificacaoDeDominio.HasNotifications()) { var funcionario = new Funcionario(dto.Nome, dto.Cpf); if (dto.Id > 0) { funcionario = await _funcionarioRepositorio.ObterPorIdAsync(dto.Id); funcionario.AlterarNome(dto.Nome); funcionario.AlterarCpf(dto.Cpf); } funcionario.AlterarDataContratacao(dto.DataContratacao); if (funcionario.Validar() && funcionario.Id == 0) { await _funcionarioRepositorio.AdicionarAsync(funcionario); } else { await NotificarValidacoesDeDominio(funcionario.ValidationResult); } } }