Proyectos de Subversion Iphone Microlearning - Nuevo Interface

Rev

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

Rev 32 Rev 61
Línea 5... Línea 5...
5
//  Created by Efrain Yanez Recanatini on 8/3/22.
5
//  Created by Efrain Yanez Recanatini on 8/3/22.
6
//
6
//
Línea 7... Línea 7...
7
 
7
 
Línea 8... Línea 8...
8
import Foundation
8
import Foundation
9
 
9
 
Línea 10... Línea 10...
10
import UIKit
10
import SwiftUI
-
 
11
import SQLite3
11
import SQLite3
12
 
12
 
-
 
13
class AppDao {
13
class AppDao {
14
    private let SQLITE_TRANSIENT = unsafeBitCast(-1, to: sqlite3_destructor_type.self)
-
 
15
    private var database = Database.sharedInstance
-
 
16
    
-
 
17
    static let sharedInstance:AppDao = {
-
 
18
           let instance = AppDao()
-
 
19
           
-
 
20
           // setup code
-
 
21
           return instance
14
    private var database = Environment(\.database).wrappedValue
22
    }()
15
    private let SQLITE_TRANSIENT = unsafeBitCast(-1, to: sqlite3_destructor_type.self)
23
    
16
 
Línea 24... Línea 17...
24
    func insert(model: AppModel)  ->Int {
17
     func insert(model: AppModel)  ->Int {
25
        let db = database.open()
18
         let db = database.open()
26
        var result : Int = 0
19
        var result : Int = 0
Línea 46... Línea 39...
46
        query = query + Constants.TABLE_APP_FIELD_REFRESH_CONTENT_MESSAGE_SHOW_PENDING + ", "
39
        query = query + Constants.TABLE_APP_FIELD_REFRESH_CONTENT_MESSAGE_SHOW_PENDING + ", "
47
        query = query + Constants.TABLE_APP_FIELD_REFRESH_CONTENT_ACTION_REQUIRED + ", "
40
        query = query + Constants.TABLE_APP_FIELD_REFRESH_CONTENT_ACTION_REQUIRED + ", "
48
        query = query + Constants.TABLE_APP_FIELD_SIGNOUT_ACTION_REQUIRED
41
        query = query + Constants.TABLE_APP_FIELD_SIGNOUT_ACTION_REQUIRED
49
        query = query +  ") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);"
42
        query = query +  ") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);"
50
        var statement : OpaquePointer?
43
        var statement : OpaquePointer?
51
 
44
  
52
        if sqlite3_prepare_v2(db, query, -1, &statement, nil) == SQLITE_OK {
45
        if sqlite3_prepare_v2(db, query, -1, &statement, nil) == SQLITE_OK {
53
            sqlite3_bind_text(statement, 1, model.deviceUuid, -1 , SQLITE_TRANSIENT)
46
            sqlite3_bind_text(statement, 1, model.deviceUuid, -1 , SQLITE_TRANSIENT)
54
            sqlite3_bind_text(statement, 2, model.deviceAes, -1, SQLITE_TRANSIENT)
47
            sqlite3_bind_text(statement, 2, model.deviceAes, -1, SQLITE_TRANSIENT)
55
            sqlite3_bind_text(statement, 3, model.devicePassword , -1, SQLITE_TRANSIENT)
48
            sqlite3_bind_text(statement, 3, model.devicePassword , -1, SQLITE_TRANSIENT)
56
            sqlite3_bind_text(statement, 4, model.userUuid , -1, SQLITE_TRANSIENT)
49
            sqlite3_bind_text(statement, 4, model.userUuid , -1, SQLITE_TRANSIENT)
Línea 73... Línea 66...
73
            
66
            
74
            if (sqlite3_step(statement) == SQLITE_DONE) {
67
            if (sqlite3_step(statement) == SQLITE_DONE) {
75
                result = Int(sqlite3_last_insert_rowid(db))
68
                result = Int(sqlite3_last_insert_rowid(db))
76
           } else {
69
           } else {
77
                print("No se pudo insertar un registro en la tabla: \(Constants.TABLE_APP) ")
-
 
-
 
70
                print("No se pudo insertar un registro en la tabla: \(Constants.TABLE_APP) ")
78
                database.printError()
71
               
Línea 79... Línea 72...
79
           }
72
           }
80
           
73
           
81
        } else {
-
 
-
 
74
        } else {
82
            print("Fallo la preparación del insertar en la tabla: \(Constants.TABLE_APP)")
75
            print("Fallo la preparación del insertar en la tabla: \(Constants.TABLE_APP)")
Línea 83... Línea 76...
83
            database.printError()
76
           
Línea 84... Línea 77...
84
        }
77
        }
Línea 161... Línea 154...
161
                model.refreshContentMessageShowPending = Int(sqlite3_column_int(statement, 18)) > 0
154
                model.refreshContentMessageShowPending = Int(sqlite3_column_int(statement, 18)) > 0
162
                model.refreshContentActionRequired = Int(sqlite3_column_int(statement, 19)) > 0
155
                model.refreshContentActionRequired = Int(sqlite3_column_int(statement, 19)) > 0
163
                model.signoutActionRequired = Int(sqlite3_column_int(statement, 20)) > 0
156
                model.signoutActionRequired = Int(sqlite3_column_int(statement, 20)) > 0
164
            }
157
            }
165
        } else {
158
        } else {
166
            database.printError()
-
 
-
 
159
           
167
        }
160
        }
Línea 168... Línea 161...
168
 
161
 
Línea 169... Línea 162...
169
        sqlite3_finalize(statement)
162
        sqlite3_finalize(statement)
Línea 208... Línea 201...
208
        if sqlite3_prepare_v2(db, query, -1, &statement, nil) == SQLITE_OK{
201
        if sqlite3_prepare_v2(db, query, -1, &statement, nil) == SQLITE_OK{
209
            if sqlite3_step(statement) != SQLITE_DONE {
202
            if sqlite3_step(statement) != SQLITE_DONE {
Línea 210... Línea 203...
210
                
203
                
Línea 211... Línea -...
211
                print("No se pudo actualizar un registro de la tabla: \(Constants.TABLE_APP)")
-
 
-
 
204
                print("No se pudo actualizar un registro de la tabla: \(Constants.TABLE_APP)")
Línea 212... Línea 205...
212
                
205
                
213
                database.printError()
206
               
214
                
207
                
Línea 215... Línea -...
215
            }
-
 
-
 
208
            }
216
        } else {
209
        } else {
217
            print("Fallo la preparación de actualizar un registro en la tabla: \(Constants.TABLE_APP)")
210
            print("Fallo la preparación de actualizar un registro en la tabla: \(Constants.TABLE_APP)")
218
            
211