public async Task <FuncionarioDto> Salvar(FuncionarioDto funcionarioDto) { Funcionario funcionario = new(funcionarioDto.Id, funcionarioDto.Codigo, funcionarioDto.Nome, funcionarioDto.Cpf, funcionarioDto.Rg, funcionarioDto.Sexo, funcionarioDto.EstadoCivil, funcionarioDto.Email, funcionarioDto.Telefone1, funcionarioDto.TipoTelefone1, funcionarioDto.Telefone2, funcionarioDto.TipoTelefone2, funcionarioDto.Nascimento, funcionarioDto.Cadastro, funcionarioDto.Alteracao, funcionarioDto.EnderecoId, funcionarioDto.Funcao, funcionarioDto.Ativo); Funcionario resultado; if (funcionarioDto.Id.Equals(0)) { resultado = await _repositorio.Adicionar(funcionario); if (resultado is null) { throw new Exception("Erro ao cadastrar, contate o administrador do sistema."); } funcionarioDto.Id = resultado.Id; funcionarioDto.Codigo = resultado.Codigo; return(funcionarioDto); } else { resultado = await _repositorio.Atualizar(funcionario); if (resultado is null) { throw new Exception("Erro ao atualizar, contate o administrador do sistema."); } funcionarioDto.Alteracao = resultado.Alteracao; return(funcionarioDto); } }
public Funcionario AdicionarUmNovoFuncionario(string nome, string telefone, Usuario usuario, Departamento departamento, Cargo cargo, List <Programa> programa, string descricao) { var grupo = _grupoRepositorio.ObterGrupoIntegra(); var funcionario = new Funcionario(usuario, nome, telefone, departamento, cargo, programa) { Descricao = descricao }; if (!usuario.PertenceAoGrupo(grupo)) { funcionario.RegraQuebrada(RegrasDeNegocioPessoa.DevePertencerAoGrupoIntegraParaTerUmDepartamento); } _funcionarioRepositorio.Adicionar(funcionario); return(funcionario); }
public Funcionario Adicionar(Funcionario funcionario) { funcionario.Validar(); return(_funcionarioRepositorio.Adicionar(funcionario)); }