ReceiveRequestDAO

 avatar
hacker98
plain_text
a year ago
4.6 kB
6
Indexable
package com.example.chatappdemo.DAO;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;

import com.example.chatappdemo.DatabaseHelper;
import com.example.chatappdemo.model.ReceiveRequest;

import java.util.ArrayList;
import java.util.List;

public class ReceiveRequestDAO {
    private SQLiteDatabase db;
    private SQLiteOpenHelper dbHelper;

    // Constructor
    public ReceiveRequestDAO(Context context) {
        dbHelper = new DatabaseHelper(context);
    }

    // Mở kết nối
    private void open() throws SQLException {
        db = dbHelper.getWritableDatabase();
    }

    // Đóng kết nối
    private void close() {
        if (db != null && db.isOpen()) {
            db.close();
        }
    }

    // Thêm dữ liệu vào bảng receive_request
    public long insertReceiveRequest(ReceiveRequest receiveRequest) {
        open();
        ContentValues values = new ContentValues();
        values.put("IPRequest", receiveRequest.getIPRequest());
        values.put("name", receiveRequest.getName());
        values.put("publicKey", receiveRequest.getPublicKey());
        long result = 0;
        try {
            result = db.insert("ReceiveRequest", null, values);
        } catch (SQLException e) {
            e.printStackTrace();
            Log.d("ReceiveRequestDAO", e.getMessage());
        }
        close();
        return result;
    }

    // Cập nhật dữ liệu trong bảng receive_request
    public int updateReceiveRequest(ReceiveRequest receiveRequest) {
        open();
        ContentValues values = new ContentValues();
        values.put("IPRequest", receiveRequest.getIPRequest());
        values.put("name", receiveRequest.getName());
        values.put("publicKey", receiveRequest.getPublicKey());

        int result = db.update("ReceiveRequest", values, "IPRequest = ?", new String[]{receiveRequest.getIPRequest()});
        close();
        return result;
    }

    // Lấy dữ liệu từ bảng receive_request theo IP_request
    public ReceiveRequest getReceiveRequestByIP(String IP_request) {
        ReceiveRequest receiveRequest = null;
        open();

        Cursor cursor = db.query("ReceiveRequest", null, "IPRequest = ?", new String[]{IP_request}, null, null, null);
        if (cursor != null && cursor.moveToFirst()) {
            receiveRequest = new ReceiveRequest();
            receiveRequest.setIPRequest(cursor.getString(cursor.getColumnIndexOrThrow("IPRequest")));
            receiveRequest.setName(cursor.getString(cursor.getColumnIndexOrThrow("name")));
            receiveRequest.setPublicKey(cursor.getString(cursor.getColumnIndexOrThrow("publicKey")));
        }

        if (cursor != null) {
            cursor.close();
        }
        close();
        return receiveRequest;
    }

    // Xóa dữ liệu từ bảng receive_request theo IP_request
    public boolean deleteReceiveRequestByIP(String IP_request) {
        open();
        int rowsDeleted = db.delete("ReceiveRequest", "IPRequest = ?", new String[]{IP_request});
        close();
        return rowsDeleted > 0;
    }

    // Lấy toàn bộ dữ liệu từ bảng receive_request
    public List<ReceiveRequest> getAllReceiveRequests() {
        List<ReceiveRequest> receiveRequests = new ArrayList<>();
        open();

        Cursor cursor = db.query("ReceiveRequest", null, null, null, null, null, null);
        if (cursor != null && cursor.moveToFirst()) {
            do {
                ReceiveRequest receiveRequest = new ReceiveRequest();
                receiveRequest.setIPRequest(cursor.getString(cursor.getColumnIndexOrThrow("IPRequest")));
                receiveRequest.setName(cursor.getString(cursor.getColumnIndexOrThrow("name")));
                receiveRequest.setPublicKey(cursor.getString(cursor.getColumnIndexOrThrow("publicKey")));

                receiveRequests.add(receiveRequest);
            } while (cursor.moveToNext());
        }

        if (cursor != null) {
            cursor.close();
        }
        close();
        return receiveRequests;
    }
//    public boolean deleteRequestByIPRequest(String IPRequest) {
//        open();
//        int rowsDeleted = db.delete("Request", "IPRequest = ?", new String[]{IPRequest});
//        close();
//        return rowsDeleted > 0;
//    }
}
Editor is loading...
Leave a Comment