parent
944c25577b
commit
6821622f48
@ -0,0 +1,135 @@
|
||||
import 'package:timemanagerapp/entity/ScheduleForm.dart';
|
||||
|
||||
import '../database/dao/TaskDao.dart';
|
||||
import '../entity/Task.dart';
|
||||
import '../setting/Setting.dart';
|
||||
import '../util/dataUtil.dart';
|
||||
import 'NetWorkController.dart';
|
||||
|
||||
class TaskController {
|
||||
IdGenerator idGenerator = IdGenerator();
|
||||
List<Task> taskList = []; //实时维护的courseList缓存
|
||||
NetWorkController netWorkController = NetWorkController();
|
||||
|
||||
DateTime termstartdate = Setting.startdate; //Setting.getStartDate();
|
||||
|
||||
Future<List<Task>> getTasks() async {
|
||||
List<Map<String, dynamic>> taskMaps = await TaskDao().getTasks();
|
||||
List<Task> tasks = []; // 用于存储转换后的Task对象列表
|
||||
|
||||
for (var taskMap in taskMaps) {
|
||||
// 使用Task类的构造函数从Map创建Task对象
|
||||
Task task = Task(
|
||||
id: taskMap['id'],
|
||||
userId: taskMap['userId'],
|
||||
content: taskMap['content'],
|
||||
taskId: taskMap['taskId'],
|
||||
name: taskMap['name'],
|
||||
startTime: DateTime.parse(taskMap['startTime']),
|
||||
endTime: DateTime.parse(taskMap['endTime']),
|
||||
);
|
||||
tasks.add(task);
|
||||
}
|
||||
taskList = tasks; // 将Task对象添加到列表中
|
||||
return taskList;
|
||||
}
|
||||
|
||||
//addscheduleForm
|
||||
Future<void> addScheduleForm(ScheduleForm scheduleForm) async {
|
||||
List<Task> taskListToInsert = [];
|
||||
// for (int week = scheduleForm.getStartWeek(); week <= scheduleForm.getEndWeek(); week++) {
|
||||
// for(int day in scheduleForm.selectedDays){
|
||||
// // 计算具体的日期和时间
|
||||
// final startDate = termstartdate.add(Duration(
|
||||
// days: (7 * (week - 1) + day! - 1),
|
||||
// hours: int.parse(raspiyane[scheduleForm.getStartTime() - 1][0].split(':')[0]),
|
||||
// minutes: int.parse(raspiyane[scheduleForm.getStartTime() - 1][0].split(':')[1]),
|
||||
// ));
|
||||
//
|
||||
// final endDate = termstartdate.add(Duration(
|
||||
// days: (7 * (week - 1) + day! - 1),
|
||||
// hours: int.parse(raspiyane[scheduleForm.getEndTime() - 1][1].split(':')[0]),
|
||||
// minutes: int.parse(raspiyane[scheduleForm.getEndTime() - 1][1].split(':')[1]),
|
||||
// ));
|
||||
// int taskId = await idGenerator.generateId();
|
||||
// Task task = Task(
|
||||
// id:await idGenerator.generateId(),
|
||||
// name: scheduleForm.getTask(),
|
||||
// userId: Setting.user!.getId!,
|
||||
// content: scheduleForm.getContent(),
|
||||
// taskId: taskId,
|
||||
// startTime: startDate,
|
||||
// endTime: endDate,
|
||||
// );
|
||||
// taskListToInsert.add(task);
|
||||
// }
|
||||
await insertTaskList(taskListToInsert);
|
||||
}
|
||||
|
||||
|
||||
// Future<void> addCourseForm(CourseForm courseForm) async {
|
||||
// List<Course> courseListToInsert = [];
|
||||
// for (int week = courseForm.getStartWeek(); week <= courseForm.getEndWeek(); week++) {
|
||||
// for(int day in courseForm.selectedDays){
|
||||
// // 计算具体的日期和时间
|
||||
// final startDate = termstartdate.add(Duration(
|
||||
// days: (7 * (week - 1) + day! - 1),
|
||||
// hours: int.parse(raspiyane[courseForm.getStartTime() - 1][0].split(':')[0]),
|
||||
// minutes: int.parse(raspiyane[courseForm.getStartTime() - 1][0].split(':')[1]),
|
||||
// ));
|
||||
//
|
||||
// final endDate = termstartdate.add(Duration(
|
||||
// days: (7 * (week - 1) + day! - 1),
|
||||
// hours: int.parse(raspiyane[courseForm.getEndTime() - 1][1].split(':')[0]),
|
||||
// minutes: int.parse(raspiyane[courseForm.getEndTime() - 1][1].split(':')[1]),
|
||||
// ));
|
||||
// int courseId = await idGenerator.generateId();
|
||||
// Course course = Course(
|
||||
// id:await idGenerator.generateId(),
|
||||
// name: courseForm.getCourse(),
|
||||
// userId: Setting.user!.getId!,
|
||||
// courseId: courseId,
|
||||
// teacher: courseForm.getTeacher(),
|
||||
// location: courseForm.getLocation(),
|
||||
// start: startDate,
|
||||
// end: endDate,
|
||||
// credit: courseForm.getCredit(),
|
||||
// remark: courseForm.getNote()
|
||||
// );
|
||||
// courseListToInsert.add(course);
|
||||
// }
|
||||
// }
|
||||
// await insertCourseList(courseListToInsert);
|
||||
// }
|
||||
|
||||
Future<int> insertTask(Task task) async {
|
||||
return await TaskDao().insertTask(task);
|
||||
}
|
||||
|
||||
Future<int> insertTaskList(List<Task> taskList) async {
|
||||
int result = 0;
|
||||
for (Task task in taskList) {
|
||||
result += await TaskDao().insertTask(task);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
//delete
|
||||
Future<int> deleteTaskByid(int id) async {
|
||||
return await TaskDao().deleteTaskByid(id);
|
||||
}
|
||||
|
||||
Future<int> deleteTaskByTaskid(int taskid) async {
|
||||
return await TaskDao().deleteTaskByTaskid(taskid);
|
||||
}
|
||||
|
||||
Future<int> deleteAllTasks() async {
|
||||
return await TaskDao().deleteAllTasks();
|
||||
}
|
||||
|
||||
//update
|
||||
Future<int> updateTask(Task task) async {
|
||||
return await TaskDao().updateTask(task);
|
||||
}
|
||||
|
||||
}
|
||||
@ -1,82 +1,88 @@
|
||||
class ScheduleForm {
|
||||
int? id;
|
||||
int userId;
|
||||
String content;
|
||||
int ScheduleFormId;
|
||||
String name;
|
||||
DateTime startTime;
|
||||
DateTime endTime;
|
||||
String type;
|
||||
|
||||
ScheduleForm({
|
||||
this.id,
|
||||
required this.userId,
|
||||
required this.content,
|
||||
required this.ScheduleFormId,
|
||||
required this.name,
|
||||
required this.startTime,
|
||||
required this.endTime,
|
||||
required this.type
|
||||
});
|
||||
late String content;
|
||||
late String name;
|
||||
late int startWeek;
|
||||
late int endWeek;
|
||||
late DateTime startTime;
|
||||
late DateTime endTime;
|
||||
late List<int> selectedDays = [];
|
||||
|
||||
// ScheduleForm({
|
||||
// this.id,
|
||||
// required this.userId,
|
||||
// required this.content,
|
||||
// required this.scheduleFormId,
|
||||
// required this.name,
|
||||
// required this.startTime,
|
||||
// required this.endTime,
|
||||
// required this.type
|
||||
// });
|
||||
|
||||
// Map<String, dynamic> toMap() {
|
||||
// return {
|
||||
// 'userId': userId,
|
||||
// 'content': "$content",
|
||||
// 'scheduleFormId': scheduleFormId,
|
||||
// 'name': "$name",
|
||||
// 'startTime': "${startTime.toIso8601String()}",
|
||||
// 'endTime': "${endTime.toIso8601String()}"
|
||||
// };
|
||||
// }
|
||||
|
||||
Map<String, dynamic> toMap() {
|
||||
return {
|
||||
'userId': userId,
|
||||
'content': "$content",
|
||||
'ScheduleFormId': ScheduleFormId,
|
||||
'name': "$name",
|
||||
'startTime': "${startTime.toIso8601String()}",
|
||||
'endTime': "${endTime.toIso8601String()}"
|
||||
'startWeek': startWeek,
|
||||
'endWeek': endWeek,
|
||||
'startTime': startTime,
|
||||
'endTime': endTime,
|
||||
'selectedDays': selectedDays
|
||||
};
|
||||
}
|
||||
|
||||
// Getter methods
|
||||
int? get getId => id;
|
||||
|
||||
int get getUserId => userId;
|
||||
|
||||
String get getContent => content;
|
||||
|
||||
int get getScheduleFormId => ScheduleFormId;
|
||||
|
||||
String get getName => name;
|
||||
|
||||
int get getStartWeek => startWeek;
|
||||
int get getEndWeek => endWeek;
|
||||
DateTime get getStartTime => startTime;
|
||||
|
||||
DateTime get getEndTime => endTime;
|
||||
String get getName => name;
|
||||
String get getContent => content;
|
||||
List<int> get getSelectedDays => selectedDays;
|
||||
|
||||
|
||||
// Setter methods
|
||||
set setId(int newId) {
|
||||
id = newId;
|
||||
set setStartWeek(int newStartWeek) {
|
||||
startWeek = newStartWeek;
|
||||
}
|
||||
|
||||
set setUserId(int newUserId) {
|
||||
userId = newUserId;
|
||||
set setEndWeek(int newEndWeek) {
|
||||
endWeek = newEndWeek;
|
||||
}
|
||||
|
||||
set setContent(String newContent) {
|
||||
content = newContent;
|
||||
set setStartTime(DateTime newStartTime) {
|
||||
startTime = newStartTime;
|
||||
}
|
||||
|
||||
set setScheduleFormId(int newScheduleFormId) {
|
||||
ScheduleFormId = newScheduleFormId;
|
||||
set setEndTime(DateTime newEndTime) {
|
||||
endTime = newEndTime;
|
||||
}
|
||||
|
||||
set setName(String newName) {
|
||||
name = newName;
|
||||
}
|
||||
|
||||
set setStartTime(DateTime newStartTime) {
|
||||
startTime = newStartTime;
|
||||
set setContent(String newContent) {
|
||||
content = newContent;
|
||||
}
|
||||
|
||||
set setEndTime(DateTime newEndTime) {
|
||||
endTime = newEndTime;
|
||||
set setSelectedDays(List<int> newSelectedDays) {
|
||||
selectedDays = newSelectedDays;
|
||||
}
|
||||
|
||||
// toString method
|
||||
@override
|
||||
String toString() {
|
||||
return 'ScheduleForm(id: $id, userId: $userId, content: $content, ScheduleFormId: $ScheduleFormId, name: $name, startTime: $startTime, endTime: $endTime)';
|
||||
return 'ScheduleForm(content: $content, name: $name, startWeek: $startWeek, endWeek: $endWeek, startTime: $startTime, endTime: $endTime, selectedDays: $selectedDays)';
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in new issue