import 'category.dart';
import 'teacher.dart';

class Note {
  Map? json;
  String id;
  String title;
  DateTime date;
  DateTime submitDate;
  Teacher teacher;
  DateTime seenDate;
  String groupId;
  String content;
  Category? type;

  Note({
    required this.id,
    required this.title,
    required this.date,
    required this.submitDate,
    required this.teacher,
    required this.seenDate,
    required this.groupId,
    required this.content,
    this.type,
    this.json,
  });

  factory Note.fromJson(Map json) {
    return Note(
      id: json["Uid"] ?? "",
      title: json["Cim"] ?? "",
      date: json["Datum"] != null
          ? DateTime.parse(json["Datum"]).toLocal()
          : DateTime(0),
      submitDate: json["KeszitesDatuma"] != null
          ? DateTime.parse(json["KeszitesDatuma"]).toLocal()
          : DateTime(0),
      teacher: Teacher.fromString((json["KeszitoTanarNeve"] ?? "").trim()),
      seenDate: json["LattamozasDatuma"] != null
          ? DateTime.parse(json["LattamozasDatuma"]).toLocal()
          : DateTime(0),
      groupId: json["OsztalyCsoport"] != null
          ? json["OsztalyCsoport"]["Uid"] ?? ""
          : "",
      content: json["Tartalom"].replaceAll("\r", "") ?? "",
      type: json["Tipus"] != null ? Category.fromJson(json["Tipus"]) : null,
      json: json,
    );
  }
}
