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 4... Línea 4...
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
 
8
 
Línea 9... Línea 9...
9
import UIKit
9
import SwiftUI
-
 
10
import SQLite3
10
import SQLite3
11
 
11
 
-
 
12
class SyncDao {
12
class SyncDao {
13
    private let SQLITE_TRANSIENT = unsafeBitCast(-1, to: sqlite3_destructor_type.self)
13
    private var database = Environment(\.database).wrappedValue
14
    public var db : OpaquePointer?
-
 
-
 
14
    private let SQLITE_TRANSIENT = unsafeBitCast(-1, to: sqlite3_destructor_type.self)
15
    
15
 
16
    func insert(record : SyncModel) -> Int {
16
    func insert(record : SyncModel) -> Int {
17
        
17
        let db = database.open()
Línea 40... Línea 40...
40
        sqlite3_finalize(statement)
40
        sqlite3_finalize(statement)
41
        return result
41
        return result
42
     }
42
     }
Línea 43... Línea 43...
43
    
43
    
44
    func selectOneByType(type: Int) -> SyncModel {
-
 
-
 
44
    func selectOneByType(type: Int) -> SyncModel {
45
        
45
        let db = database.open()
Línea 46... Línea 46...
46
        var record = SyncModel()
46
        var record = SyncModel()
47
        
47
        
48
        let query = "SELECT "
48
        let query = "SELECT "
Línea 67... Línea 67...
67
        return record
67
        return record
68
    }
68
    }
Línea 69... Línea 69...
69
    
69
    
70
    
-
 
-
 
70
    
71
    func countPendingRecords()-> Int {
71
    func countPendingRecords()-> Int {
72
        
72
        let db = database.open()
73
        var count = 0 
73
        var count = 0 
Línea 85... Línea 85...
85
        sqlite3_finalize(statement)
85
        sqlite3_finalize(statement)
86
        return count
86
        return count
87
    }
87
    }
Línea 88... Línea 88...
88
    
88
    
89
    func selectBatch()-> [SyncModel] {
-
 
-
 
89
    func selectBatch()-> [SyncModel] {
90
        
90
        let db = database.open()
Línea 91... Línea 91...
91
        var records = [SyncModel]()
91
        var records = [SyncModel]()
92
        
92
        
93
        var query = "SELECT "
93
        var query = "SELECT "
Línea 115... Línea 115...
115
        sqlite3_finalize(statement)
115
        sqlite3_finalize(statement)
116
        return records
116
        return records
117
    }
117
    }
Línea 118... Línea 118...
118
    
118
    
119
    func remove(id : Int) {
-
 
-
 
119
    func remove(id : Int) {
120
        
120
        let db = database.open()
121
        let query = "DELETE FROM " + Constants.TABLE_SYNC + " WHERE " + Constants.TABLE_SYNC_FIELD_ID + " = " + "\(id) ;"
121
        let query = "DELETE FROM " + Constants.TABLE_SYNC + " WHERE " + Constants.TABLE_SYNC_FIELD_ID + " = " + "\(id) ;"
122
        var statement : OpaquePointer? = nil
122
        var statement : OpaquePointer? = nil
123
        if (sqlite3_prepare_v2(db, query, -1, &statement, nil) == SQLITE_OK) {
123
        if (sqlite3_prepare_v2(db, query, -1, &statement, nil) == SQLITE_OK) {
124
            if (sqlite3_step(statement) != SQLITE_DONE) {
124
            if (sqlite3_step(statement) != SQLITE_DONE) {