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); } } }
public bool Adicionar(FuncionarioDTO dto) { _funcionario = new Funcionario(dto.Nome, dto.Cpf); _funcionario.AlterarDataContratacao(dto.DataContratacao); _validador.entidade = _funcionario; _validador.ValidarInclusao(); if (notificationContext.HasNotifications) return false; _funcionarioRepository.Add(_funcionario); return true; }
public bool Alterar(int id, FuncionarioDTO dto) { _funcionario = _funcionarioRepository.Get(f => f.Id == id); _funcionario.AlterarNome(dto.Nome); _funcionario.AlterarCpf(dto.Cpf); _funcionario.AlterarDataContratacao(dto.DataContratacao); _validador.entidade = _funcionario; _validador.ValidarAlteracao(); if (notificationContext.HasNotifications) return false; _funcionarioRepository.Update(_funcionario); return true; }