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 QuizDao {
11
class QuizDao {
-
 
12
    private let SQLITE_TRANSIENT = unsafeBitCast(-1, to: sqlite3_destructor_type.self)
12
    private var database = Environment(\.database).wrappedValue
13
    public var db : OpaquePointer?
13
    private let SQLITE_TRANSIENT = unsafeBitCast(-1, to: sqlite3_destructor_type.self)
14
    
-
 
-
 
14
 
15
    func selectByUuid(uuid: String)-> QuizModel {
15
    func selectByUuid(uuid: String)-> QuizModel {
16
        
16
        let db = database.open()
17
        var model = QuizModel()
17
        var model = QuizModel()
18
        var query = "SELECT " + Constants.TABLE_QUIZ_FIELD_UUID + ", "
18
        var query = "SELECT " + Constants.TABLE_QUIZ_FIELD_UUID + ", "
19
        query = query + Constants.TABLE_QUIZ_FIELD_COMPANY_UUID + ", "
19
        query = query + Constants.TABLE_QUIZ_FIELD_COMPANY_UUID + ", "
Línea 49... Línea 49...
49
        sqlite3_finalize(statement)
49
        sqlite3_finalize(statement)
50
        return model
50
        return model
51
    }
51
    }
Línea 52... Línea 52...
52
        
52
        
53
    func insert(quiz: QuizModel) {
-
 
-
 
53
    func insert(quiz: QuizModel) {
54
        
54
        let db = database.open()
55
        var query = "INSERT INTO " + Constants.TABLE_QUIZ
55
        var query = "INSERT INTO " + Constants.TABLE_QUIZ
56
        query = query + " ( " + Constants.TABLE_QUIZ_FIELD_UUID + ", "
56
        query = query + " ( " + Constants.TABLE_QUIZ_FIELD_UUID + ", "
57
        query = query + Constants.TABLE_QUIZ_FIELD_COMPANY_UUID + ", "
57
        query = query + Constants.TABLE_QUIZ_FIELD_COMPANY_UUID + ", "
58
        query = query + Constants.TABLE_QUIZ_FIELD_NAME + ", "
58
        query = query + Constants.TABLE_QUIZ_FIELD_NAME + ", "
Línea 92... Línea 92...
92
       
92
       
93
        sqlite3_finalize(statement)
93
        sqlite3_finalize(statement)
Línea 94... Línea 94...
94
    }
94
    }
95
 
-
 
-
 
95
 
96
    func update(quiz : QuizModel) {
96
    func update(quiz : QuizModel) {
97
        
97
        let db = database.open()
98
        var query = "UPDATE " + Constants.TABLE_QUIZ
98
        var query = "UPDATE " + Constants.TABLE_QUIZ
99
        query = query + " SET " + Constants.TABLE_QUIZ_FIELD_NAME + " = '\(quiz.name)', "
99
        query = query + " SET " + Constants.TABLE_QUIZ_FIELD_NAME + " = '\(quiz.name)', "
100
        query = query + Constants.TABLE_QUIZ_FIELD_TEXT + " = '\(quiz.text)', "
100
        query = query + Constants.TABLE_QUIZ_FIELD_TEXT + " = '\(quiz.text)', "
Línea 117... Línea 117...
117
        }
117
        }
118
        sqlite3_finalize(statement)
118
        sqlite3_finalize(statement)
119
    }
119
    }
Línea 120... Línea 120...
120
 
120
 
121
    func remove(uuid: String) {
-
 
-
 
121
    func remove(uuid: String) {
122
        
122
        let db = database.open()
123
        let query = "DELETE FROM " + Constants.TABLE_QUIZ +
123
        let query = "DELETE FROM " + Constants.TABLE_QUIZ +
124
            " WHERE " + Constants.TABLE_QUIZ_FIELD_UUID + " = '\(uuid)' ;"
124
            " WHERE " + Constants.TABLE_QUIZ_FIELD_UUID + " = '\(uuid)' ;"
125
        var statement : OpaquePointer? = nil
125
        var statement : OpaquePointer? = nil
126
        if (sqlite3_prepare_v2(db, query, -1, &statement, nil) == SQLITE_OK) {
126
        if (sqlite3_prepare_v2(db, query, -1, &statement, nil) == SQLITE_OK) {
Línea 134... Línea 134...
134
        }
134
        }
135
        sqlite3_finalize(statement)
135
        sqlite3_finalize(statement)
136
    }
136
    }
Línea 137... Línea 137...
137
 
137
 
138
    func removeAll() {
-
 
-
 
138
    func removeAll() {
139
        
139
        let db = database.open()
140
        let query = "DELETE FROM " + Constants.TABLE_QUIZ + ";"
140
        let query = "DELETE FROM " + Constants.TABLE_QUIZ + ";"
141
        var statement : OpaquePointer? = nil
141
        var statement : OpaquePointer? = nil
142
        if (sqlite3_prepare_v2(db, query, -1, &statement, nil) == SQLITE_OK) {
142
        if (sqlite3_prepare_v2(db, query, -1, &statement, nil) == SQLITE_OK) {
143
            if (sqlite3_step(statement) != SQLITE_DONE) {
143
            if (sqlite3_step(statement) != SQLITE_DONE) {