Proyectos de Subversion Iphone Microlearning - Nuevo Interface

Rev

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

Rev 23 Rev 25
Línea 29... Línea 29...
29
        query = query + Constants.TABLE_USER_NOTIFICATION_FIELD_USER_UUID + ", "
29
        query = query + Constants.TABLE_USER_NOTIFICATION_FIELD_USER_UUID + ", "
30
        query = query + Constants.TABLE_USER_NOTIFICATION_FIELD_TITLE + ", "
30
        query = query + Constants.TABLE_USER_NOTIFICATION_FIELD_TITLE + ", "
31
        query = query + Constants.TABLE_USER_NOTIFICATION_FIELD_BODY + ", "
31
        query = query + Constants.TABLE_USER_NOTIFICATION_FIELD_BODY + ", "
32
        query = query + Constants.TABLE_USER_NOTIFICATION_FIELD_URL + " , "
32
        query = query + Constants.TABLE_USER_NOTIFICATION_FIELD_URL + " , "
33
        query = query + Constants.TABLE_USER_NOTIFICATION_FIELD_VIEWED + " , "
33
        query = query + Constants.TABLE_USER_NOTIFICATION_FIELD_VIEWED + " , "
-
 
34
        query = query + Constants.TABLE_USER_NOTIFICATION_FIELD_COMMAND + " , "
34
        query = query + Constants.TABLE_USER_NOTIFICATION_FIELD_DATE_ON + " , "
35
        query = query + Constants.TABLE_USER_NOTIFICATION_FIELD_DATE_ON + " , "
35
        query = query + Constants.TABLE_USER_NOTIFICATION_FIELD_TIME_ON
36
        query = query + Constants.TABLE_USER_NOTIFICATION_FIELD_TIME_ON
36
        query = query + " FROM " + Constants.TABLE_USER_NOTIFICATION
37
        query = query + " FROM " + Constants.TABLE_USER_NOTIFICATION
37
        query = query + " WHERE " + Constants.TABLE_USER_NOTIFICATION_FIELD_ID + " = '\(id)'  LIMIT 1;"
38
        query = query + " WHERE " + Constants.TABLE_USER_NOTIFICATION_FIELD_ID + " = '\(id)'  LIMIT 1;"
Línea 52... Línea 53...
52
                
53
                
Línea 53... Línea 54...
53
                model.url = String(describing: String(cString: sqlite3_column_text(statement, 4)))
54
                model.url = String(describing: String(cString: sqlite3_column_text(statement, 4)))
Línea 54... Línea 55...
54
                
55
                
Línea -... Línea 56...
-
 
56
                model.viewed = Int(sqlite3_column_int(statement, 5))
-
 
57
                
-
 
58
                model.command = String(describing: String(cString: sqlite3_column_text(statement, 6)))
55
                model.viewed = Int(sqlite3_column_int(statement, 5))
59
                
Línea 56... Línea 60...
56
                
60
                
Línea 57... Línea 61...
57
                model.dateOn = String(describing: String(cString: sqlite3_column_text(statement, 6)))
61
                model.dateOn = String(describing: String(cString: sqlite3_column_text(statement, 7)))
Línea 107... Línea 111...
107
        query = query + Constants.TABLE_USER_NOTIFICATION_FIELD_USER_UUID + ", "
111
        query = query + Constants.TABLE_USER_NOTIFICATION_FIELD_USER_UUID + ", "
108
        query = query + Constants.TABLE_USER_NOTIFICATION_FIELD_TITLE + ", "
112
        query = query + Constants.TABLE_USER_NOTIFICATION_FIELD_TITLE + ", "
109
        query = query + Constants.TABLE_USER_NOTIFICATION_FIELD_BODY + ", "
113
        query = query + Constants.TABLE_USER_NOTIFICATION_FIELD_BODY + ", "
110
        query = query + Constants.TABLE_USER_NOTIFICATION_FIELD_URL + " , "
114
        query = query + Constants.TABLE_USER_NOTIFICATION_FIELD_URL + " , "
111
        query = query + Constants.TABLE_USER_NOTIFICATION_FIELD_VIEWED + " , "
115
        query = query + Constants.TABLE_USER_NOTIFICATION_FIELD_VIEWED + " , "
-
 
116
        query = query + Constants.TABLE_USER_NOTIFICATION_FIELD_COMMAND + " , "
112
        query = query + Constants.TABLE_USER_NOTIFICATION_FIELD_DATE_ON + " , "
117
        query = query + Constants.TABLE_USER_NOTIFICATION_FIELD_DATE_ON + " , "
113
        query = query + Constants.TABLE_USER_NOTIFICATION_FIELD_TIME_ON
118
        query = query + Constants.TABLE_USER_NOTIFICATION_FIELD_TIME_ON
114
        query = query + " FROM " + Constants.TABLE_USER_NOTIFICATION
119
        query = query + " FROM " + Constants.TABLE_USER_NOTIFICATION
115
        query = query + " WHERE " + Constants.TABLE_USER_NOTIFICATION_FIELD_USER_UUID + " = '\(userUuid)'; "
120
        query = query + " WHERE " + Constants.TABLE_USER_NOTIFICATION_FIELD_USER_UUID + " = '\(userUuid)'; "
116
        query = query + " AND " + Constants.TABLE_USER_NOTIFICATION_FIELD_DATE_ON + " = '\(date)'"
121
        query = query + " AND " + Constants.TABLE_USER_NOTIFICATION_FIELD_DATE_ON + " = '\(date)'"
Línea 133... Línea 138...
133
                
138
                
Línea 134... Línea 139...
134
                model.url = String(describing: String(cString: sqlite3_column_text(statement, 4)))
139
                model.url = String(describing: String(cString: sqlite3_column_text(statement, 4)))
Línea -... Línea 140...
-
 
140
                
-
 
141
                model.viewed = Int(sqlite3_column_int(statement, 5))
-
 
142
                
135
                
143
                model.command = String(describing: String(cString: sqlite3_column_text(statement, 6)))
Línea 136... Línea 144...
136
                model.viewed = Int(sqlite3_column_int(statement, 5))
144
               
Línea 137... Línea 145...
137
                
145
                
Línea 182... Línea 190...
182
        query = query + Constants.TABLE_USER_NOTIFICATION_FIELD_USER_UUID + ", "
190
        query = query + Constants.TABLE_USER_NOTIFICATION_FIELD_USER_UUID + ", "
183
        query = query + Constants.TABLE_USER_NOTIFICATION_FIELD_TITLE + ", "
191
        query = query + Constants.TABLE_USER_NOTIFICATION_FIELD_TITLE + ", "
184
        query = query + Constants.TABLE_USER_NOTIFICATION_FIELD_BODY + ", "
192
        query = query + Constants.TABLE_USER_NOTIFICATION_FIELD_BODY + ", "
185
        query = query + Constants.TABLE_USER_NOTIFICATION_FIELD_URL + ", "
193
        query = query + Constants.TABLE_USER_NOTIFICATION_FIELD_URL + ", "
186
        query = query + Constants.TABLE_USER_NOTIFICATION_FIELD_VIEWED + ", "
194
        query = query + Constants.TABLE_USER_NOTIFICATION_FIELD_VIEWED + ", "
-
 
195
        query = query + Constants.TABLE_USER_NOTIFICATION_FIELD_COMMAND + ", "
187
        query = query + Constants.TABLE_USER_NOTIFICATION_FIELD_DATE_ON + ", "
196
        query = query + Constants.TABLE_USER_NOTIFICATION_FIELD_DATE_ON + ", "
188
        query = query + Constants.TABLE_USER_NOTIFICATION_FIELD_TIME_ON
197
        query = query + Constants.TABLE_USER_NOTIFICATION_FIELD_TIME_ON
189
        query = query + " ) VALUES (?, ?, ?, ?, ?, ?, ?);"
198
        query = query + " ) VALUES (?, ?, ?, ?, ?, ?, ?, ?);"
190
        var statement : OpaquePointer?
199
        var statement : OpaquePointer?
Línea 191... Línea 200...
191
        
200
        
Línea 192... Línea 201...
192
           
201
           
193
        if (sqlite3_prepare_v2(db, query, -1, &statement, nil) == SQLITE_OK) {
202
        if (sqlite3_prepare_v2(db, query, -1, &statement, nil) == SQLITE_OK) {
194
                   
203
                   
195
            sqlite3_bind_text(statement, 1, userNotification.userUuid, -1, SQLITE_TRANSIENT)
204
            sqlite3_bind_text(statement, 1, userNotification.userUuid, -1, SQLITE_TRANSIENT)
196
            sqlite3_bind_text(statement, 2, userNotification.title, -1 , SQLITE_TRANSIENT)
205
            sqlite3_bind_text(statement, 2, userNotification.title, -1 , SQLITE_TRANSIENT)
-
 
206
            sqlite3_bind_text(statement, 3, userNotification.body , -1, SQLITE_TRANSIENT)
197
            sqlite3_bind_text(statement, 3, userNotification.body , -1, SQLITE_TRANSIENT)
207
            sqlite3_bind_text(statement, 4, userNotification.url , -1, SQLITE_TRANSIENT)
198
            sqlite3_bind_text(statement, 4, userNotification.url , -1, SQLITE_TRANSIENT)
208
            sqlite3_bind_int(statement, 5, Int32(userNotification.viewed))
Línea 199... Línea 209...
199
            sqlite3_bind_int(statement, 5, Int32(userNotification.viewed))
209
            sqlite3_bind_text(statement, 6, userNotification.command, -1, SQLITE_TRANSIENT)
200
            sqlite3_bind_text(statement, 6, userNotification.dateOn, -1, SQLITE_TRANSIENT)
210
            sqlite3_bind_text(statement, 7, userNotification.dateOn, -1, SQLITE_TRANSIENT)
201
            sqlite3_bind_text(statement, 7, userNotification.timeOn , -1, SQLITE_TRANSIENT)
211
            sqlite3_bind_text(statement, 8, userNotification.timeOn , -1, SQLITE_TRANSIENT)
202
            
212
            
Línea 220... Línea 230...
220
    }
230
    }
Línea 221... Línea 231...
221
 
231
 
222
    func markViewed(id : Int) {
232
    func markViewed(id : Int) {
223
        let db = database.open()
233
        let db = database.open()
-
 
234
        var query = "UPDATE " + Constants.TABLE_USER_NOTIFICATION
224
        var query = "UPDATE " + Constants.TABLE_USER_NOTIFICATION
235
        query = query + " SET " + Constants.TABLE_USER_NOTIFICATION_FIELD_VIEWED + "  1 "
225
        query = query + " WHERE " + Constants.TABLE_USER_NOTIFICATION_FIELD_ID + " = '\(id)';"
236
        query = query + " WHERE " + Constants.TABLE_USER_NOTIFICATION_FIELD_ID + " = '\(id)';"
226
        var statement : OpaquePointer? = nil
237
        var statement : OpaquePointer? = nil
227
        if (sqlite3_prepare_v2(db, query, -1, &statement, nil) == SQLITE_OK) {
238
        if (sqlite3_prepare_v2(db, query, -1, &statement, nil) == SQLITE_OK) {
228
            if (sqlite3_step(statement) != SQLITE_DONE) {
239
            if (sqlite3_step(statement) != SQLITE_DONE) {
Línea 239... Línea 250...
239
    }
250
    }
Línea 240... Línea 251...
240
    
251
    
241
    func markViewedAllPendingByUserUuid(userUuid : String) {
252
    func markViewedAllPendingByUserUuid(userUuid : String) {
242
        let db = database.open()
253
        let db = database.open()
-
 
254
        var query = "UPDATE " + Constants.TABLE_USER_NOTIFICATION
-
 
255
        query = query + " SET " + Constants.TABLE_USER_NOTIFICATION_FIELD_VIEWED + "  1 "
-
 
256
        query = query + " WHERE " + Constants.TABLE_USER_NOTIFICATION_FIELD_VIEWED + " = 0 "
-
 
257
        query = query + " AND " + Constants.TABLE_USER_NOTIFICATION_FIELD_USER_UUID + " = '\(userUuid)'; "
-
 
258
        var statement : OpaquePointer? = nil
-
 
259
        if (sqlite3_prepare_v2(db, query, -1, &statement, nil) == SQLITE_OK) {
-
 
260
            if (sqlite3_step(statement) != SQLITE_DONE) {
-
 
261
                print("No se pudo actualizar un registro en la tabla: \(Constants.TABLE_USER_NOTIFICATION) ")
-
 
262
                
-
 
263
                database.printError()
-
 
264
            }
-
 
265
        } else {
-
 
266
            print("Fallo la preparación de la actualización de un registro en la tabla \(Constants.TABLE_USER_NOTIFICATION) ")
-
 
267
            
-
 
268
            database.printError()
-
 
269
        }
-
 
270
        sqlite3_finalize(statement)
-
 
271
    }
-
 
272
    
-
 
273
    func markViewedAllPendingByUserUuidAndCommand(userUuid : String, command : String) {
-
 
274
        let db = database.open()
-
 
275
        var query = "UPDATE " + Constants.TABLE_USER_NOTIFICATION
243
        var query = "UPDATE " + Constants.TABLE_USER_NOTIFICATION
276
        query = query + " SET " + Constants.TABLE_USER_NOTIFICATION_FIELD_VIEWED + "  1 "
244
        query = query + " WHERE " + Constants.TABLE_USER_NOTIFICATION_FIELD_VIEWED + " = 0 "
277
        query = query + " WHERE " + Constants.TABLE_USER_NOTIFICATION_FIELD_VIEWED + " = 0 "
-
 
278
        query = query + " AND " + Constants.TABLE_USER_NOTIFICATION_FIELD_USER_UUID + " = '\(userUuid)'; "
245
        query = query + " AND " + Constants.TABLE_USER_NOTIFICATION_FIELD_USER_UUID + " = '\(userUuid)'; "
279
        query = query + " AND " + Constants.TABLE_USER_NOTIFICATION_FIELD_COMMAND + " = '\(command)'; "
246
        var statement : OpaquePointer? = nil
280
        var statement : OpaquePointer? = nil
247
        if (sqlite3_prepare_v2(db, query, -1, &statement, nil) == SQLITE_OK) {
281
        if (sqlite3_prepare_v2(db, query, -1, &statement, nil) == SQLITE_OK) {
248
            if (sqlite3_step(statement) != SQLITE_DONE) {
282
            if (sqlite3_step(statement) != SQLITE_DONE) {