예제 #1
0
        //SELECT usuario.id_usuario, usuario.nome, nivel_acesso.nome_perfil FROM usuario JOIN usuario_acesso ON usuario.id_usuario= usuario_acesso.id_usuario JOIN nivel_acesso ON nivel_acesso.id_nivel_acesso= usuario_acesso.id_nivel_acesso WHERE usuario = ? AND senha = MD5(?)"



        /*
         * limitar a consulta a 50 pessoas
         * fazer um count de pessoas e retornar esse valor
         */


        /// <summary>
        /// Método responsável por cadastrar os dados de pessoa no Banco de Dados.
        /// </summary>
        /// <param name="pessoa"></param>
        /// <returns>Pessoa</returns>
        public Pessoa CadastrarPessoa(Pessoa pessoa)
        {
            long idEndereco, idContato = 0;
            int  idUsuarioSessao = usuarioController.idUsuarioSessao;

            try
            {
                command = new MySqlCommand(CADASTRAR_ENDERECO, connection.GetConnection());
                command.Parameters.AddWithValue("?cep", pessoa.endereco.cep);
                command.Parameters.AddWithValue("?logradouro", pessoa.endereco.logradouro);
                command.Parameters.AddWithValue("?numero", pessoa.endereco.numero);
                command.Parameters.AddWithValue("?complemento", pessoa.endereco.complemento);
                command.Parameters.AddWithValue("?bairro", pessoa.endereco.bairro);
                command.Parameters.AddWithValue("?pais", pessoa.endereco.pais);
                command.Parameters.AddWithValue("?estado", pessoa.endereco.estado);
                command.Parameters.AddWithValue("?cidade", pessoa.endereco.cidade);
                command.Parameters.AddWithValue("?usuario_cadastro", idUsuarioSessao);

                try
                {
                    transaction = command.Connection.BeginTransaction();

                    command.CommandText = "SET autocommit = 0";
                    command.ExecuteNonQuery();

                    idEndereco = command.LastInsertedId;

                    command.Parameters.Clear();

                    command = new MySqlCommand(CADASTRAR_CONTATO, connection.GetConnection());
                    command.Parameters.AddWithValue("?telefone", pessoa.contato.telefone);
                    command.Parameters.AddWithValue("?celular", pessoa.contato.celular);
                    command.Parameters.AddWithValue("?email", pessoa.contato.email);
                    command.Parameters.AddWithValue("?usuario_cadastro", idUsuarioSessao);

                    try
                    {
                        transaction = command.Connection.BeginTransaction();

                        command.CommandText = "SET autocommit = 0";
                        command.ExecuteNonQuery();

                        idContato = command.LastInsertedId;

                        command.Parameters.Clear();

                        command = new MySqlCommand(CADASTRAR_PESSOA, connection.GetConnection());
                        command.Parameters.AddWithValue("?nome", pessoa.nome);
                        command.Parameters.AddWithValue("?sobrenome", pessoa.sobrenome);
                        command.Parameters.AddWithValue("?estado_civil", pessoa.estadoCivil);
                        command.Parameters.AddWithValue("?sexo", pessoa.sexo);
                        command.Parameters.AddWithValue("?data_nascimento", pessoa.dataNascimento);
                        command.Parameters.AddWithValue("?rg", pessoa.documentoPF.registroGeral);
                        command.Parameters.AddWithValue("?cpf", pessoa.documentoPF.cadastroPessoaFisica);
                        command.Parameters.AddWithValue("?endereco", idEndereco);
                        command.Parameters.AddWithValue("?contato", idContato);
                        command.Parameters.AddWithValue("?usuario_cadastro", idUsuarioSessao);

                        try
                        {
                            transaction = command.Connection.BeginTransaction();

                            command.CommandText = "SET autocommit = 0";
                            command.ExecuteNonQuery();
                        }
                        catch (MySqlException ex)
                        {
                            transaction.Rollback();
                            pessoa = null;
                            Trace.TraceError(ex.ToString());
                        }
                    }
                    catch (MySqlException ex)
                    {
                        transaction.Rollback();
                        pessoa = null;
                        Trace.TraceError(ex.ToString());
                    }
                }
                catch (MySqlException ex)
                {
                    transaction.Rollback();
                    pessoa = null;
                    Trace.TraceError(ex.ToString());
                }

                transaction.Commit();
            }
            catch (MySqlException ex)
            {
                transaction.Rollback();
                pessoa = null;
                Trace.TraceError(ex.ToString());
            }
            finally
            {
                command.Parameters.Clear();
                connection.Close();
            }

            return(pessoa);
        }
예제 #2
0
        /// <summary>
        /// Método responsável por fazer a verificação se existe conexão com o Banco de Dados, para poder exibir o message box adequado.
        /// </summary>
        /// <param name="usuario"></param>
        /// <returns>usuario</returns>
        public Usuario VerificaConexaoBanco(Usuario usuario)
        {
            try
            {
                command = new MySqlCommand(VERIFICAR_CONEXAO, connection.GetConnection());
                command.Parameters.AddWithValue("?id_usuario", usuario.idUsuario);
                command.CommandType = CommandType.Text;

                MySqlDataReader myDataReader;
                try
                {
                    myDataReader = command.ExecuteReader();
                    myDataReader.Read();

                    usuario.nome = myDataReader.GetString(0);
                }
                catch
                {
                    usuario = null;
                }
            }
            catch (MySqlException ex)
            {
                throw (ex);
                //MessageBox.Show("Erro de comunicação com o Banco de Dados." + ex);
            }
            finally
            {
                command.Parameters.Clear();
                connection.Close();
            }

            return(usuario);
        }