예제 #1
0
        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);
        }
예제 #3
0
        public Funcionario Adicionar(Funcionario funcionario)
        {
            funcionario.Validar();

            return(_funcionarioRepositorio.Adicionar(funcionario));
        }