initProjects function

Future<void> initProjects(
  1. SharedDatabase database
)

Implementation

Future<void> initProjects(SharedDatabase database) async {
  String content = await AssetsUtils.loadTextAsset(
    "statics/init-data/projects.txt",
  );
  //
  List<String> lines = content.split("\n");
  for (String li in lines) {
    String line = li.trim();
    if (line.startsWith("#") || line.isEmpty) {
      continue;
    }
    List<String> values = line.split(";");
    //
    // @line: "ProjectCode;ProjectName;Description"
    //
    String projectCode = values[0].trim();
    String projectName = values[1].trim();
    String description = values[2].trim();

    await database
        .into(database.project)
        .insert(
          ProjectCompanion.insert(
            code: projectCode,
            name: projectName,
            description: Value.absentIfNull(description),
          ),
        );
  }
}