Proyectos de Subversion Iphone Microlearning - Inconcert

Rev

Rev 16 | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 16 Rev 17
Línea 5... Línea 5...
5
//  Created by Efrain Yanez Recanatini on 2/21/22.
5
//  Created by Efrain Yanez Recanatini on 2/21/22.
6
//
6
//
Línea 7... Línea 7...
7
 
7
 
8
import UIKit
8
import UIKit
-
 
9
import SQLite3
-
 
10
import SwiftUI
Línea 9... Línea 11...
9
import SQLite3
11
 
-
 
12
 
10
 
13
class AnswerDao {
11
class AnswerDao {
-
 
12
    private let SQLITE_TRANSIENT = unsafeBitCast(-1, to: sqlite3_destructor_type.self)
14
    private var database = Environment(\.database).wrappedValue
Línea 13... Línea 15...
13
    private var db : Database.sharedInstance.open()
15
    private let SQLITE_TRANSIENT = unsafeBitCast(-1, to: sqlite3_destructor_type.self)
14
    
-
 
-
 
16
 
15
    
17
    
16
    func insert(answer : AnswerModel) {
18
    func insert(answer : AnswerModel) {
17
    
19
        let db = database.open()
18
        var query = "INSERT INTO " + Constants.TABLE_ANSWER + " ( "
20
        var query = "INSERT INTO " + Constants.TABLE_ANSWER + " ( "
19
        query = query + Constants.TABLE_ANSWER_FIELD_UUID + ", "
21
        query = query + Constants.TABLE_ANSWER_FIELD_UUID + ", "
Línea 50... Línea 52...
50
     }
52
     }
Línea 51... Línea 53...
51
    
53
    
52
    
-
 
-
 
54
    
53
    
55
    
Línea 54... Línea 56...
54
    func selectAllByQuestionUuid(questionUuid: String)-> [AnswerModel] {
56
    func selectAllByQuestionUuid(questionUuid: String)-> [AnswerModel] {
55
 
57
        let db = database.open()
56
        var records = [AnswerModel]()
58
        var records = [AnswerModel]()
Línea 87... Línea 89...
87
        sqlite3_finalize(statement)
89
        sqlite3_finalize(statement)
88
        return records
90
        return records
89
    }
91
    }
Línea 90... Línea 92...
90
    
92
    
91
    func selectByUuid(uuid : String) -> AnswerModel {
-
 
-
 
93
    func selectByUuid(uuid : String) -> AnswerModel {
92
        
94
        let db = database.open()
93
        var model = AnswerModel()
95
        var model = AnswerModel()
94
        var query = "SELECT " + Constants.TABLE_ANSWER_FIELD_UUID + " , "
96
        var query = "SELECT " + Constants.TABLE_ANSWER_FIELD_UUID + " , "
95
        query = query + Constants.TABLE_ANSWER_FIELD_QUESTION_UUID + ", "
97
        query = query + Constants.TABLE_ANSWER_FIELD_QUESTION_UUID + ", "
96
        query = query + Constants.TABLE_ANSWER_FIELD_TEXT + ", "
98
        query = query + Constants.TABLE_ANSWER_FIELD_TEXT + ", "
Línea 119... Línea 121...
119
        sqlite3_finalize(statement)
121
        sqlite3_finalize(statement)
120
        return model
122
        return model
121
    }
123
    }
Línea 122... Línea 124...
122
    
124
    
123
    func update( answerModel: AnswerModel) {
-
 
-
 
125
    func update( answerModel: AnswerModel) {
124
        
126
        let db = database.open()
125
        var query = "UPDATE" + Constants.TABLE_SYNC
127
        var query = "UPDATE" + Constants.TABLE_SYNC
126
        query = query + " SET " + Constants.TABLE_ANSWER_FIELD_TEXT + " =  ?, "
128
        query = query + " SET " + Constants.TABLE_ANSWER_FIELD_TEXT + " =  ?, "
127
        query = query + Constants.TABLE_ANSWER_FIELD_POINTS + " = ?, "
129
        query = query + Constants.TABLE_ANSWER_FIELD_POINTS + " = ?, "
128
        query = query + Constants.TABLE_ANSWER_FIELD_CORRECT + " = ?, "
130
        query = query + Constants.TABLE_ANSWER_FIELD_CORRECT + " = ?, "
Línea 150... Línea 152...
150
        sqlite3_finalize(statement)
152
        sqlite3_finalize(statement)
151
    }
153
    }
Línea 152... Línea 154...
152
 
154
 
153
    
-
 
-
 
155
    
154
    func remove(uuid : String) {
156
    func remove(uuid : String) {
155
        
157
        let db = database.open()
Línea 156... Línea 158...
156
        let query = "DELETE FROM " + Constants.TABLE_ANSWER +
158
        let query = "DELETE FROM " + Constants.TABLE_ANSWER +
157
            " WHERE " + Constants.TABLE_ANSWER_FIELD_UUID + " = '\(uuid)' ;"
159
            " WHERE " + Constants.TABLE_ANSWER_FIELD_UUID + " = '\(uuid)' ;"
Línea 170... Línea 172...
170
        }
172
        }
171
        sqlite3_finalize(statement)
173
        sqlite3_finalize(statement)
172
    }
174
    }
Línea 173... Línea 175...
173
    
175
    
174
    func removeAll() {
-
 
-
 
176
    func removeAll() {
175
        
177
        let db = database.open()
176
        let query = "DELETE FROM " + Constants.TABLE_ANSWER + ";"
178
        let query = "DELETE FROM " + Constants.TABLE_ANSWER + ";"
177
        var statement : OpaquePointer? = nil
179
        var statement : OpaquePointer? = nil
178
        if sqlite3_prepare_v2(db, query, -1, &statement, nil) == SQLITE_OK{
180
        if sqlite3_prepare_v2(db, query, -1, &statement, nil) == SQLITE_OK{
179
            if sqlite3_step(statement) != SQLITE_DONE {
181
            if sqlite3_step(statement) != SQLITE_DONE {