44 lines
886 B
Dart
44 lines
886 B
Dart
import 'package:refilc_kreta_api/models/teacher.dart';
|
|
|
|
import 'category.dart';
|
|
|
|
class GradeSubject {
|
|
String id;
|
|
Category category;
|
|
String name;
|
|
String? renamedTo;
|
|
double? customRounding;
|
|
Teacher? teacher;
|
|
|
|
bool get isRenamed => renamedTo != null;
|
|
bool get hasCustomRounding => customRounding != null;
|
|
|
|
GradeSubject({
|
|
required this.id,
|
|
required this.category,
|
|
required this.name,
|
|
this.renamedTo,
|
|
// v5
|
|
this.customRounding,
|
|
this.teacher,
|
|
});
|
|
|
|
factory GradeSubject.fromJson(Map json) {
|
|
final id = json["Uid"] ?? "";
|
|
return GradeSubject(
|
|
id: id,
|
|
category: Category.fromJson(json["Kategoria"] ?? {}),
|
|
name: (json["Nev"] ?? "").trim(),
|
|
);
|
|
}
|
|
|
|
@override
|
|
bool operator ==(other) {
|
|
if (other is! GradeSubject) return false;
|
|
return id == other.id;
|
|
}
|
|
|
|
@override
|
|
int get hashCode => id.hashCode;
|
|
}
|