save method

void save({
  1. Book? book,
  2. KontoPlan? kpl,
  3. Journal? jrl,
  4. Settings? conf,
})

save a book.

Implementation

void save({Book? book, KontoPlan? kpl, Journal? jrl, Settings? conf}) {
  if (book == null) book = Book();
  if (kpl != null) book.kpl = kpl;
  if (jrl != null) book.jrl = jrl;
  if (conf != null) settings = conf;

  ///Save the operations
  List<List<dynamic>> fibuAsList = book.kpl.asList();
  fibuAsList = book.jrl.asList(fibuAsList);
  if(book.ops != null) {
  fibuAsList.add(["OPS"]);
  fibuAsList.add(["tag","date","compte_accredite","compte_retrait","description","monnaie","montant","modif"]);
    book.ops.forEach((key,val)=>(val as Operation).asList(fibuAsList));
  }

  final res = const ListToCsvConverter().convert(fibuAsList);

  print("retrieved list\n$fibuAsList\n");
  print("retrieved csv\n$res\n");

  print("check settings output = ${settings['output']}");
  String fname =
      ((settings["output"]) != null && (settings["output"].isNotEmpty))
          ? settings["output"] + ".csv"
          : settings["base"] + ".csv";
  print("created fname = $fname");
  File(fname).writeAsString(res).then((file) {
    print("write seems successful, please check $fname");
  });
}