insertDailyLog method

Future<int> insertDailyLog(
  1. Map<String, dynamic> data,
  2. String logDate,
  3. String userId
)

insert daily logs report based on userId and log date

Implementation

Future<int> insertDailyLog(
    Map<String, dynamic> data, String logDate, String userId) async {
  Database? db = await instance.database;

  /// Check if found logs on provided date
  int? recordExist = Sqflite.firstIntValue(await db!.rawQuery(
      "SELECT COUNT(*) FROM $tableDailyUserSymptomsLogsData WHERE $columnLogDate='$logDate' AND $columnUserId='$userId'"));
  printLogs("Found Data : $recordExist");
  if (recordExist! > 0) {
    /// remove old logs
    int deleted = await db.rawDelete(
        "DELETE FROM $tableDailyUserSymptomsLogsData WHERE $columnLogDate='$logDate' AND $columnUserId='$userId'");
    printLogs("Delete Data $deleted");
  }

  ///insert a new logs
  int id = await db.insert(tableDailyUserSymptomsLogsData, data);
  printLogs("Insert Data");
  return id;
}