Proyectos de Subversion Iphone Microlearning - Nuevo Interface

Rev

Rev 17 | Rev 25 | Ir a la última revisión | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 17 Rev 19
Línea 10... Línea 10...
10
import UIKit
10
import UIKit
11
import SQLite3
11
import SQLite3
Línea 12... Línea 12...
12
 
12
 
13
class AppDao {
13
class AppDao {
14
    private let SQLITE_TRANSIENT = unsafeBitCast(-1, to: sqlite3_destructor_type.self)
14
    private let SQLITE_TRANSIENT = unsafeBitCast(-1, to: sqlite3_destructor_type.self)
Línea 15... Línea 15...
15
    private var db : OpaquePointer?
15
    private var database = Database.sharedInstance
16
    
16
    
Línea 17... Línea 17...
17
    static let sharedInstance:AppDao = {
17
    static let sharedInstance:AppDao = {
18
           let instance = AppDao()
18
           let instance = AppDao()
19
           
19
           
Línea 20... Línea -...
20
           // setup code
-
 
21
           return instance
-
 
22
    }()
-
 
23
    
-
 
24
    init() {
-
 
25
        self.db = Database.sharedInstance.open()
20
           // setup code
26
    }
-
 
-
 
21
           return instance
27
    
22
    }()
Línea 28... Línea 23...
28
    
23
    
29
    func insert(model: AppModel)  ->Int {
24
    func insert(model: AppModel)  ->Int {
30
       
25
        let db = database.open()
Línea 69... Línea 64...
69
            sqlite3_bind_text(statement, 16, model.urlExternalDownloaded, -1, SQLITE_TRANSIENT)
64
            sqlite3_bind_text(statement, 16, model.urlExternalDownloaded, -1, SQLITE_TRANSIENT)
Línea 70... Línea 65...
70
            
65
            
71
            if (sqlite3_step(statement) == SQLITE_DONE) {
66
            if (sqlite3_step(statement) == SQLITE_DONE) {
72
                result = Int(sqlite3_last_insert_rowid(db))
67
                result = Int(sqlite3_last_insert_rowid(db))
73
           } else {
68
           } else {
-
 
69
                print("No se pudo insertar un registro en la tabla: \(Constants.TABLE_APP) ")
74
            print("No se pudo insertar un registro en la tabla: \(Constants.TABLE_APP) ")
70
                database.printError()
Línea 75... Línea 71...
75
           }
71
           }
76
           
72
           
-
 
73
        } else {
77
        } else {
74
            print("Fallo la preparación del insertar en la tabla: \(Constants.TABLE_APP)")
Línea 78... Línea 75...
78
            print("Fallo la preparación del insertar en la tabla: \(Constants.TABLE_APP)")
75
            database.printError()
Línea 79... Línea 76...
79
        }
76
        }
80
       
77
       
Línea 81... Línea 78...
81
        sqlite3_finalize(statement)
78
        sqlite3_finalize(statement)
-
 
79
        
82
        
80
        return result
Línea 83... Línea 81...
83
        return result
81
     }
84
     }
82
    
85
    
83
    
Línea 110... Línea 108...
110
        
108
        
Línea 111... Línea 109...
111
        //print("selectOne : \(query)")
109
        //print("selectOne : \(query)")
112
        
110
        
113
        var statement : OpaquePointer? = nil
111
        var statement : OpaquePointer? = nil
Línea 114... Línea 112...
114
        if sqlite3_prepare_v2(db, query, -1, &statement, nil) == SQLITE_OK{
112
        if sqlite3_prepare_v2(db, query, -1, &statement, nil) == SQLITE_OK{
Línea 115... Línea 113...
115
            while sqlite3_step(statement) == SQLITE_ROW {
113
            if sqlite3_step(statement) == SQLITE_ROW {
Línea 144... Línea 142...
144
                
142
                
Línea 145... Línea 143...
145
                model.companyUuidActive  = String(describing: String(cString: sqlite3_column_text(statement, 15)))
143
                model.companyUuidActive  = String(describing: String(cString: sqlite3_column_text(statement, 15)))
Línea 146... Línea -...
146
                
-
 
147
                model.urlExternalDownloaded  = String(describing: String(cString: sqlite3_column_text(statement, 16)))
-
 
148
                
-
 
149
 
-
 
150
                //print("selectOne: \(model)")
-
 
151
                
144
                
-
 
145
                model.urlExternalDownloaded  = String(describing: String(cString: sqlite3_column_text(statement, 16)))
-
 
146
                
152
                break;
147
            }
-
 
148
        } else {
153
               
149
            database.printError()
Línea 154... Línea 150...
154
            }
150
        }
155
        }
151
 
Línea 156... Línea 152...
156
        sqlite3_finalize(statement)
152
        sqlite3_finalize(statement)
157
        
-
 
-
 
153
        
158
        return model
154
        return model
159
    }
155
    }
160
    
156
    
161
  
157
  
162
    
158
    
Línea 183... Línea 179...
183
        query = query + " WHERE " + Constants.TABLE_APP_FIELD_ID + " = '\(model.id)' "
179
        query = query + " WHERE " + Constants.TABLE_APP_FIELD_ID + " = '\(model.id)' "
Línea 184... Línea 180...
184
        
180
        
Línea 185... Línea 181...
185
        
181
        
186
        
182
        
187
        
183
        
Línea 188... Línea 184...
188
        print("update query : \(query)")
184
        //print("update query : \(query)")
Línea -... Línea 185...
-
 
185
        
-
 
186
        var statement : OpaquePointer? = nil
189
        
187
        if sqlite3_prepare_v2(db, query, -1, &statement, nil) == SQLITE_OK{
190
        var statement : OpaquePointer? = nil
188
            if sqlite3_step(statement) != SQLITE_DONE {
191
        if sqlite3_prepare_v2(db, query, -1, &statement, nil) == SQLITE_OK{
189
                
-
 
190
                print("No se pudo actualizar un registro de la tabla: \(Constants.TABLE_APP)")
-
 
191
                
192
            if sqlite3_step(statement) != SQLITE_DONE {
192
                database.printError()
193
                
193
                
194
                print("No se pudo actualizar un registro de la tabla: \(Constants.TABLE_APP)")
194
            }