upsertCourseOffering method
Returns the ID of an existing course offering, or creates/updates one.
Implementation
Future<int> upsertCourseOffering({
required int courseId,
required int semesterId,
required String number,
int? phase,
String? status,
String? language,
String? remarks,
String? syllabusId,
}) async {
return (await into(courseOfferings).insertReturning(
CourseOfferingsCompanion.insert(
course: courseId,
semester: semesterId,
number: number,
phase: Value(phase),
status: Value(status),
language: Value(language),
remarks: Value(remarks),
syllabusId: Value(syllabusId),
),
onConflict: DoUpdate(
(old) => CourseOfferingsCompanion(
course: Value(courseId),
phase: Value(phase),
status: Value(status),
language: Value(language),
remarks: Value(remarks),
syllabusId: Value(syllabusId),
),
target: [courseOfferings.number],
),
)).id;
}