save method
Implementation
Future<hive_form.Form?> save(
{bool previouslyValidated = false, bool validation = false}) async {
hive_form.Form? form;
bool ok = validation;
// Validate the Data
if (!previouslyValidated) {
ok = (await validate() == null);
}
// Show Success
if (ok) {
// Serialize the Form
await serialize(element, fields);
// Serialize Outer Xml
String xml = framework!.element!.toXmlString(pretty: true);
// Lookup Form
form = await hive_form.Form.find(framework!.key);
// Update the Form
if (form != null) {
Log().info('Updating Form');
form.complete = completed;
form.updated = DateTime.now().millisecondsSinceEpoch;
form.template = xml;
form.data = map;
await form.update();
}
// Insert the Form
else {
Log().info('Inserting New form');
form = hive_form.Form(
key: framework?.key,
parent: framework?.dependency,
complete: completed,
template: xml,
data: map);
await form.insert();
}
// Mark Clean
clean = true;
}
return form;
}