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 TopicDao {
11
class TopicDao {
-
 
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)-> TopicModel {
15
    func selectByUuid(uuid: String)-> TopicModel {
Línea 16... Línea 16...
16
        
16
        let db = database.open()
17
        var model = TopicModel()
17
        var model = TopicModel()
18
        
18
        
Línea 50... Línea 50...
50
        return model
50
        return model
51
    }
51
    }
Línea 52... Línea 52...
52
 
52
 
53
 
-
 
-
 
53
 
54
    func selectAllBycompanyUuid(companyUuid: String)-> [TopicModel] {
54
    func selectAllBycompanyUuid(companyUuid: String)-> [TopicModel] {
Línea 55... Línea 55...
55
        
55
        let db = database.open()
56
        var records = [TopicModel]()
56
        var records = [TopicModel]()
57
        
57
        
Línea 93... Línea 93...
93
        sqlite3_finalize(statement)
93
        sqlite3_finalize(statement)
94
        return records
94
        return records
95
    }
95
    }
Línea 96... Línea 96...
96
 
96
 
97
    func selectAll()-> [TopicModel] {
-
 
-
 
97
    func selectAll()-> [TopicModel] {
98
        
98
        let db = database.open()
99
        var records = [TopicModel]()
99
        var records = [TopicModel]()
100
        var query = "SELECT "
100
        var query = "SELECT "
101
        query = query + Constants.TABLE_TOPIC_FIELD_UUID + ", "
101
        query = query + Constants.TABLE_TOPIC_FIELD_UUID + ", "
102
        query = query + Constants.TABLE_TOPIC_FIELD_COMPANY_UUID + ", "
102
        query = query + Constants.TABLE_TOPIC_FIELD_COMPANY_UUID + ", "
Línea 136... Línea 136...
136
        sqlite3_finalize(statement)
136
        sqlite3_finalize(statement)
137
        return records
137
        return records
138
    }
138
    }
Línea 139... Línea 139...
139
    
139
    
140
    func getCount() -> Int {
-
 
-
 
140
    func getCount() -> Int {
141
        
141
        let db = database.open()
Línea 142... Línea 142...
142
        let query = "SELECT COUNT(*) AS total FROM " + Constants.TABLE_TOPIC;
142
        let query = "SELECT COUNT(*) AS total FROM " + Constants.TABLE_TOPIC;
143
 
143
 
Línea 157... Línea 157...
157
        sqlite3_finalize(statement)
157
        sqlite3_finalize(statement)
158
        return count
158
        return count
159
    }
159
    }
Línea 160... Línea 160...
160
    
160
    
161
    func insert(topic : TopicModel) {
-
 
-
 
161
    func insert(topic : TopicModel) {
162
        
162
        let db = database.open()
163
        var query = "INSERT INTO " + Constants.TABLE_TOPIC + " ( "
163
        var query = "INSERT INTO " + Constants.TABLE_TOPIC + " ( "
164
        query = query + Constants.TABLE_TOPIC_FIELD_UUID + ", "
164
        query = query + Constants.TABLE_TOPIC_FIELD_UUID + ", "
165
        query = query + Constants.TABLE_TOPIC_FIELD_COMPANY_UUID + ", "
165
        query = query + Constants.TABLE_TOPIC_FIELD_COMPANY_UUID + ", "
166
        query = query + Constants.TABLE_TOPIC_FIELD_NAME + ", "
166
        query = query + Constants.TABLE_TOPIC_FIELD_NAME + ", "
Línea 197... Línea 197...
197
       
197
       
198
        sqlite3_finalize(statement)
198
        sqlite3_finalize(statement)
Línea 199... Línea 199...
199
    }
199
    }
200
 
-
 
-
 
200
 
201
    func update(topic: TopicModel) {
201
    func update(topic: TopicModel) {
202
        
202
        let db = database.open()
203
        var query = "UPDATE " + Constants.TABLE_TOPIC
203
        var query = "UPDATE " + Constants.TABLE_TOPIC
204
        query = query + " SET " + Constants.TABLE_TOPIC_FIELD_NAME + " = '\(topic.name)', "
204
        query = query + " SET " + Constants.TABLE_TOPIC_FIELD_NAME + " = '\(topic.name)', "
205
        query = query + Constants.TABLE_TOPIC_FIELD_DESCRIPTION + " = '\(topic.description)', "
205
        query = query + Constants.TABLE_TOPIC_FIELD_DESCRIPTION + " = '\(topic.description)', "
Línea 220... Línea 220...
220
        }
220
        }
221
        sqlite3_finalize(statement)
221
        sqlite3_finalize(statement)
222
    }
222
    }
Línea 223... Línea 223...
223
 
223
 
224
    func remove(uuid: String) {
-
 
-
 
224
    func remove(uuid: String) {
225
        
225
        let db = database.open()
226
        let query = "DELETE FROM " + Constants.TABLE_TOPIC
226
        let query = "DELETE FROM " + Constants.TABLE_TOPIC
227
            + " WHERE " + Constants.TABLE_TOPIC_FIELD_UUID + " = '\(uuid)' ;"
227
            + " WHERE " + Constants.TABLE_TOPIC_FIELD_UUID + " = '\(uuid)' ;"
228
        var statement : OpaquePointer? = nil
228
        var statement : OpaquePointer? = nil
229
        if (sqlite3_prepare_v2(db, query, -1, &statement, nil) == SQLITE_OK) {
229
        if (sqlite3_prepare_v2(db, query, -1, &statement, nil) == SQLITE_OK) {
Línea 237... Línea 237...
237
        }
237
        }
238
        sqlite3_finalize(statement)
238
        sqlite3_finalize(statement)
239
    }
239
    }
Línea 240... Línea 240...
240
 
240
 
241
    func removeAll() {
-
 
-
 
241
    func removeAll() {
242
        
242
        let db = database.open()
243
        let query = "DELETE FROM " + Constants.TABLE_TOPIC + ";"
243
        let query = "DELETE FROM " + Constants.TABLE_TOPIC + ";"
244
        var statement : OpaquePointer? = nil
244
        var statement : OpaquePointer? = nil
245
        if sqlite3_prepare_v2(db, query, -1, &statement, nil) == SQLITE_OK{
245
        if sqlite3_prepare_v2(db, query, -1, &statement, nil) == SQLITE_OK{
246
            if sqlite3_step(statement) != SQLITE_DONE {
246
            if sqlite3_step(statement) != SQLITE_DONE {