improved editing offlien and online.
This commit is contained in:
@ -63,8 +63,20 @@ interface AnswerDao {
|
||||
@Query("SELECT * FROM answers WHERE clientCode = :clientCode")
|
||||
suspend fun getAnswersForClient(clientCode: String): List<Answer>
|
||||
|
||||
@Query("""
|
||||
DELETE FROM answers
|
||||
WHERE clientCode = :clientCode
|
||||
AND questionId IN (
|
||||
SELECT questionId FROM questions WHERE questionnaireId = :questionnaireId
|
||||
)
|
||||
""")
|
||||
suspend fun deleteAnswersForClientAndQuestionnaire(
|
||||
clientCode: String,
|
||||
questionnaireId: String
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@Dao
|
||||
interface CompletedQuestionnaireDao {
|
||||
@Insert(onConflict = OnConflictStrategy.REPLACE)
|
||||
|
||||
@ -20,7 +20,7 @@ import kotlin.system.exitProcess
|
||||
object DatabaseUploader {
|
||||
|
||||
private const val DB_NAME = "questionnaire_database"
|
||||
private const val SERVER_DELTA_URL = "http://49.13.157.44/uploadDeltaTest4.php"
|
||||
private const val SERVER_DELTA_URL = "http://49.13.157.44/uploadDeltaTest5.php"
|
||||
private const val SERVER_CHECK_URL = "http://49.13.157.44/checkDatabaseExists.php"
|
||||
|
||||
private val client = OkHttpClient()
|
||||
|
||||
@ -177,11 +177,16 @@ abstract class QuestionnaireBase<T> {
|
||||
val clientCode = answers["client_code"] as? String ?: return
|
||||
|
||||
saveClientAndQuestionnaire(db, clientCode, questionnaireId)
|
||||
|
||||
// 🔥 Vor dem Speichern alte Antworten löschen
|
||||
db.answerDao().deleteAnswersForClientAndQuestionnaire(clientCode, questionnaireId)
|
||||
|
||||
saveQuestions(db, answers, questionnaireId)
|
||||
saveAnswers(db, answers, questionnaireId, clientCode)
|
||||
markQuestionnaireCompleted(db, questionnaireId, clientCode)
|
||||
}
|
||||
|
||||
|
||||
private suspend fun saveClientAndQuestionnaire(db: AppDatabase, clientCode: String, questionnaireId: String) {
|
||||
db.clientDao().insertClient(Client(clientCode))
|
||||
db.questionnaireDao().insertQuestionnaire(Questionnaire(id = questionnaireId))
|
||||
|
||||
Reference in New Issue
Block a user