save method

void save(
  1. dynamic parentModel
)

Implementation

void save(dynamic parentModel) async {
  if (parentModel == null) return;
  var fpk = Dynamic(parentModel).annotationData(annotation.Key);
  var fpkName = fpk.first['field'];
  var fpkValue = Dynamic(parentModel).get(fpkName);
  var model;
  if (modelList!.length > 0) model = modelList!.first.runtimeType;
  await rf.db.execute(
      'delete from \"${model.toString()}\" where \"$fpkName\" = \'$fpkValue\'');
  var _model =
      (model.runtimeType == String) ? Models.models[model]!.model : model;

  var pk = Dynamic(_model).annotationData(annotation.Key);
  var pkName = pk.first['field'];
  for (var item in modelList!) {
    Dynamic(item!).set(pkName, '');
    Dynamic(item).set(fpkName, fpkValue!);
    await rf.db.save(item);
  }
}