Hình 15: Class Model
Lớp TerraModel là lớp lớn nhất trong hệ thống, nó gồm các hàm chung nhất giao tiếp với cơ sở dữ liệu:
• Hàm fetchRows(): Nhận vào khóa chính, tùy từng lớp được kế thừa từ TerraModel mà nó sẽ lấy ra một hàng trong bảng tương ứng của CSDL • Hàm insertRows(): Nhận vào giá trị các trường, giá trị các trường và tùy
từng lớp được kế thừa từ TerraModel mà nó sẽ thêm các vào bảng tương ứng trong CSDL
Lớp User, nó chứa các hàm thao tác với cơ sở dữ liệu để lấy ra thông tin về user phục vụ việc hiển thị hoặc cập nhật, thêm mới vào CSDL
• Hàm getDonatedProjects(): Đưa ra các đăng ký quyên góp của một user • Hàm getHostedProjects(): Đưa ra các dự án mà user bảo trợ
Lớp Project chứa các hàm thao tác với cơ sở dữ liệu để lấy ra các thông tin về dự án phục vụ hiện thị hoặc cập nhật, thêm mới dự án vào cơ sở dữ liệu
• Hàm getTakers(): Đưa ra hoàn cảnh mà dự án hướng tới • Hàm getHosts(): Đưa ra các tổ chức bảo trợ cho dự án • Hàm getDonors(): Đưa ra các đăng ký quyên góp cho dự án
• Hàm getComments(): Nhận vào thông tin giá trị trang phần bình luận và trả về các bình luận về dự án đó
Lớp Taker chứa các hàm thao tác với cơ sở dữ liệu để lấy ra thông tin về những hoàn cảnh (đối tượng nhận quyên góp) phục vụ việc hiển thị hoặc cập nhật, thêm mới hoàn cảnh vào cơ sở dữ liệu
• Hàm getHosts(): Đưa ra các tổ chức đã bảo trợ cho hoàn cảnh này • Hàm getProjects(): Đưa ra thông tin các dự án liên quan đến hoàn cảnh Lớp Group chứa các hàm thao tác với CSDL để lấy ra thông tin về tổ chức bảo trợ phục vụ việc hiển thị hoặc cập nhật, thêm mới hoàn cảnh vào CSDL
• Hàm getHostedProjects(): Đưa ra thông tin các dự án đã bảo trợ • Hàm getDonatedProjects(): Đưa ra thông tin đóng góp các dự án
• Hàm getUsers(): Lấy ra thông tin những người tham gia vào tổ chức bảo trợ