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 3... Línea 3...
3
//  twogetskills
3
//  twogetskills
4
//
4
//
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 SwiftUI
Línea 9... Línea 9...
9
import SQLite3
9
import SQLite3
-
 
10
 
10
 
11
class QuestionDao {
11
class QuestionDao {
-
 
-
 
12
    private var database = Environment(\.database).wrappedValue
Línea 12... Línea 13...
12
    private let SQLITE_TRANSIENT = unsafeBitCast(-1, to: sqlite3_destructor_type.self)
13
    private let SQLITE_TRANSIENT = unsafeBitCast(-1, to: sqlite3_destructor_type.self)
13
    public var db : OpaquePointer?
-
 
-
 
14
    
14
    
15
    
Línea 15... Línea 16...
15
    func selectAllByQuizUuid(quizUuid: String)-> [QuestionModel] {
16
    func selectAllByQuizUuid(quizUuid: String)-> [QuestionModel] {
16
        
17
        let db = database.open()
17
        var records = [QuestionModel]()
18
        var records = [QuestionModel]()
Línea 51... Línea 52...
51
        sqlite3_finalize(statement)
52
        sqlite3_finalize(statement)
52
        return records
53
        return records
53
    }
54
    }
Línea 54... Línea 55...
54
 
55
 
55
    func selectByUuid(uuid: String)-> QuestionModel  {
-
 
-
 
56
    func selectByUuid(uuid: String)-> QuestionModel  {
56
        
57
        let db = database.open()
Línea 57... Línea 58...
57
        var model = QuestionModel()
58
        var model = QuestionModel()
58
        
59
        
59
        var query = "SELECT "
60
        var query = "SELECT "
Línea 86... Línea 87...
86
        sqlite3_finalize(statement)
87
        sqlite3_finalize(statement)
87
        return model
88
        return model
88
    }
89
    }
Línea 89... Línea 90...
89
        
90
        
90
    func insert(question: QuestionModel) {
-
 
-
 
91
    func insert(question: QuestionModel) {
91
        
92
        let db = database.open()
92
        var query = "INSERT INTO " + Constants.TABLE_QUESTION + " ( "
93
        var query = "INSERT INTO " + Constants.TABLE_QUESTION + " ( "
93
        query = query + Constants.TABLE_QUESTION_FIELD_UUID + ", "
94
        query = query + Constants.TABLE_QUESTION_FIELD_UUID + ", "
94
        query = query + Constants.TABLE_QUESTION_FIELD_QUIZ_UUID + ", "
95
        query = query + Constants.TABLE_QUESTION_FIELD_QUIZ_UUID + ", "
95
        query = query + Constants.TABLE_QUESTION_FIELD_TEXT + ", "
96
        query = query + Constants.TABLE_QUESTION_FIELD_TEXT + ", "
Línea 124... Línea 125...
124
       
125
       
125
        sqlite3_finalize(statement)
126
        sqlite3_finalize(statement)
Línea 126... Línea 127...
126
    }
127
    }
127
 
-
 
-
 
128
 
128
    func update(question: QuestionModel) {
129
    func update(question: QuestionModel) {
129
        
130
        let db = database.open()
130
        var query = "UPDATE " + Constants.TABLE_QUESTION
131
        var query = "UPDATE " + Constants.TABLE_QUESTION
131
        query = query + " SET " + Constants.TABLE_QUESTION_FIELD_TEXT + " = '\(question.text)', "
132
        query = query + " SET " + Constants.TABLE_QUESTION_FIELD_TEXT + " = '\(question.text)', "
132
        query = query + Constants.TABLE_QUESTION_FIELD_POINTS + " = '\(question.points)', "
133
        query = query + Constants.TABLE_QUESTION_FIELD_POINTS + " = '\(question.points)', "
Línea 147... Línea 148...
147
        }
148
        }
148
        sqlite3_finalize(statement)
149
        sqlite3_finalize(statement)
149
    }
150
    }
Línea 150... Línea 151...
150
 
151
 
151
    func remove(uuid: String) {
-
 
-
 
152
    func remove(uuid: String) {
152
        
153
        let db = database.open()
153
        let query = "DELETE FROM " + Constants.TABLE_QUESTION +
154
        let query = "DELETE FROM " + Constants.TABLE_QUESTION +
154
            " WHERE " + Constants.TABLE_QUESTION_FIELD_UUID + " = '\(uuid)' ;"
155
            " WHERE " + Constants.TABLE_QUESTION_FIELD_UUID + " = '\(uuid)' ;"
155
        var statement : OpaquePointer? = nil
156
        var statement : OpaquePointer? = nil
156
        if (sqlite3_prepare_v2(db, query, -1, &statement, nil) == SQLITE_OK) {
157
        if (sqlite3_prepare_v2(db, query, -1, &statement, nil) == SQLITE_OK) {
Línea 164... Línea 165...
164
        }
165
        }
165
        sqlite3_finalize(statement)
166
        sqlite3_finalize(statement)
166
    }
167
    }
Línea 167... Línea 168...
167
 
168
 
168
    func removeAll() {
-
 
-
 
169
    func removeAll() {
169
        
170
        let db = database.open()
170
        let query = "DELETE FROM " + Constants.TABLE_QUESTION + ";"
171
        let query = "DELETE FROM " + Constants.TABLE_QUESTION + ";"
171
        var statement : OpaquePointer? = nil
172
        var statement : OpaquePointer? = nil
172
        if sqlite3_prepare_v2(db, query, -1, &statement, nil) == SQLITE_OK{
173
        if sqlite3_prepare_v2(db, query, -1, &statement, nil) == SQLITE_OK{
173
            if sqlite3_step(statement) != SQLITE_DONE {
174
            if sqlite3_step(statement) != SQLITE_DONE {