Cập nhật dữ liệu cho phần học tiếng Anh theo chủ đề

Một phần của tài liệu XÂY DỰNG PHẦN MỀM HỖ TRỢ HỌC TIẾNG ANH CHO HỌC SINH TIỂU HỌC (Trang 48 - 51)

Từ giao diện lựa chọn các chức năng, người quản trị chọn mục Lessons, màn hình hiện ra như sau:

Hình 3.15: Giao diện cập nhật bài học

Để thêm một bài học (chủ đề) mới, người quản trị kích chuột vào Add Lesson (gần biểu tượng cái loa) sau đó form “Add Lesson” như bên dưới sẽ được hiện ra. Người quản trị nhập theo các định dạng bên dưới rồi kích vào Add Lesson để lưu vào hệ thống cơ sở dữ liệu.

Để sửa hoặc xóa một bài học kích chuột phải vào hình đại diện của bài học sau đó chọn “Edit” (để sửa) hoặc “Remove” (để xóa). Khi đó form Add Lesson cũng được hiện ra và người quản trị có thể sửa trực tiếp trên đó. Sau khi hoàn tất công việc chỉnh sửa, click vào “Save” để lưu lại các chỉnh sửa này.

Hình 3.16: Giao diện cập nhật nội dung bài học

Trong đó:

- Topic Name: Tên bài học (chủ đề).

- Topic Thumbnail: Kích chuột vào ô vuông màu xám để chọn ảnh đại diện cho bài học.

- Add Word For Lesson: Kích chuột vào đó để thêm dữ liệu cho phần bài học, bao gồm từ, nghĩa của từ và hình ảnh.

- Add Word For Exercise: Kích chuột vào đó để thêm dữ liệu cho phần bài tập sau mỗi bài học.

- Add Lesson: Thêm bài học.

Để thực hiện việc cập nhật cơ sở dữ liệu, ta xây dựng các hàm tương ứng:

Hàm lưu cập nhật vào cơ sở dữ liệu:

private void WriteTopicsToFile() {

string topicsFileFullPath = Path.Combine(_databasePath, TOPIC_TABLE_FILENAME);

try {

string json = JsonConvert.SerializeObject(_topics,

Formatting.Indented);

File.WriteAllText(topicsFileFullPath, json); }

catch (Exception ex) {

} } }

Hàm thêm một chủ đề (Topic): public void AddTopic(Topic topic) {

string topicId = topic.ID;

if (_topics.ContainsKey(topicId)) return;

string thumbnailPath = topic.ImageUrl;

string shortFileName = WriteImage(thumbnailPath); topic.ImageUrl = shortFileName;

_topics.Add(topicId, topic); WriteTopicsToFile();

}

Hàm chỉnh sửa:

public void UpdateTopic(Topic topic) {

string topicId = topic.ID; Topic existTopic;

if (_topics.TryGetValue(topicId, out existTopic)) {

existTopic.Name = topic.Name;

string shortImageFileName = WriteImage(topic.ImageUrl); existTopic.ImageUrl = shortImageFileName;

WriteTopicsToFile(); }

Hàm xóa:

public void RemoveTopic(Topic topic) {

string topicId = topic.ID;

if (!_topics.ContainsKey(topicId)) return;

_topics.Remove(topicId); WriteTopicsToFile(); }

Một phần của tài liệu XÂY DỰNG PHẦN MỀM HỖ TRỢ HỌC TIẾNG ANH CHO HỌC SINH TIỂU HỌC (Trang 48 - 51)