//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); }
/// <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); }