Proyectos de Subversion Iphone Microlearning - Inconcert

Rev

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

Rev 1 Rev 15
Línea 8... Línea 8...
8
import UIKit
8
import UIKit
9
import SQLite3
9
import SQLite3
Línea 10... Línea 10...
10
 
10
 
11
class ProgressDao {
11
class ProgressDao {
12
    private let SQLITE_TRANSIENT = unsafeBitCast(-1, to: sqlite3_destructor_type.self)
12
    private let SQLITE_TRANSIENT = unsafeBitCast(-1, to: sqlite3_destructor_type.self)
13
    private var database = Database.sharedInstance
-
 
14
    
-
 
15
    static let sharedInstance: ProgressDao = {
-
 
16
           let instance = ProgressDao()
-
 
17
           
-
 
18
           // setup code
-
 
19
           return instance
-
 
Línea 20... Línea 13...
20
    }()
13
    private let db : OpaquePointer?
21
 
-
 
-
 
14
 
22
    func selectByTopicUuid(topicUuid: String)-> ProgressModel {
15
    func selectByTopicUuid(topicUuid: String)-> ProgressModel {
23
        let db = database.open()
16
        
24
        //var records = [ProgressModel]()
17
        //var records = [ProgressModel]()
25
        var model = ProgressModel()
18
        var model = ProgressModel()
26
        var query = "SELECT "
19
        var query = "SELECT "
Línea 62... Línea 55...
62
                model.completed = Int(sqlite3_column_int(statement, 12))
55
                model.completed = Int(sqlite3_column_int(statement, 12))
63
                model.addedOn = String(describing: String(cString: sqlite3_column_text(statement, 13)))
56
                model.addedOn = String(describing: String(cString: sqlite3_column_text(statement, 13)))
64
                model.updatedOn = String(describing: String(cString: sqlite3_column_text(statement, 14)))
57
                model.updatedOn = String(describing: String(cString: sqlite3_column_text(statement, 14)))
65
            }
58
            }
66
        } else {
59
        } else {
67
            database.printError()
-
 
-
 
60
           
68
        }
61
        }
69
        sqlite3_finalize(statement)
62
        sqlite3_finalize(statement)
70
        return model
63
        return model
71
    }
64
    }
Línea 72... Línea 65...
72
    
65
    
73
    
-
 
-
 
66
    
74
    func selectByTopicUuidAndUserUuid(topicUuid: String, userUuid : String)-> ProgressModel {
67
    func selectByTopicUuidAndUserUuid(topicUuid: String, userUuid : String)-> ProgressModel {
75
        let db = database.open()
68
        
76
        //var records = [ProgressModel]()
69
        //var records = [ProgressModel]()
77
        var model = ProgressModel()
70
        var model = ProgressModel()
78
        var query = "SELECT "
71
        var query = "SELECT "
Línea 115... Línea 108...
115
                model.completed = Int(sqlite3_column_int(statement, 12))
108
                model.completed = Int(sqlite3_column_int(statement, 12))
116
                model.addedOn = String(describing: String(cString: sqlite3_column_text(statement, 13)))
109
                model.addedOn = String(describing: String(cString: sqlite3_column_text(statement, 13)))
117
                model.updatedOn = String(describing: String(cString: sqlite3_column_text(statement, 14)))
110
                model.updatedOn = String(describing: String(cString: sqlite3_column_text(statement, 14)))
118
            }
111
            }
119
        } else {
112
        } else {
120
            database.printError()
-
 
-
 
113
           
121
        }
114
        }
122
        sqlite3_finalize(statement)
115
        sqlite3_finalize(statement)
123
        return model
116
        return model
124
    }
117
    }
Línea 125... Línea 118...
125
    
118
    
126
    func selectByCapsuleUuid(capsuleUuid: String)-> ProgressModel {
-
 
-
 
119
    func selectByCapsuleUuid(capsuleUuid: String)-> ProgressModel {
127
        let db = database.open()
120
        
128
        //var records = [ProgressModel]()
121
        //var records = [ProgressModel]()
129
        var model = ProgressModel()
122
        var model = ProgressModel()
130
        var query = "SELECT "
123
        var query = "SELECT "
131
        query = query +  Constants.TABLE_PROGRESS_FIELD_ID + " , "
124
        query = query +  Constants.TABLE_PROGRESS_FIELD_ID + " , "
Línea 169... Línea 162...
169
                model.addedOn = String(describing: String(cString: sqlite3_column_text(statement, 13)))
162
                model.addedOn = String(describing: String(cString: sqlite3_column_text(statement, 13)))
170
                model.updatedOn = String(describing: String(cString: sqlite3_column_text(statement, 14)))
163
                model.updatedOn = String(describing: String(cString: sqlite3_column_text(statement, 14)))
Línea 171... Línea 164...
171
                
164
                
172
            }
165
            }
173
        } else {
-
 
-
 
166
        } else {
174
            database.printError()
167
           
175
        }
168
        }
176
        sqlite3_finalize(statement)
169
        sqlite3_finalize(statement)
Línea 177... Línea 170...
177
        return model
170
        return model
Línea 178... Línea 171...
178
        
171
        
179
    }
-
 
-
 
172
    }
180
    
173
    
181
    func selectByCapsuleUuidAndUserUuid(capsuleUuid: String, userUuid : String)-> ProgressModel {
174
    func selectByCapsuleUuidAndUserUuid(capsuleUuid: String, userUuid : String)-> ProgressModel {
182
        let db = database.open()
175
        
183
        //var records = [ProgressModel]()
176
        //var records = [ProgressModel]()
184
        var model = ProgressModel()
177
        var model = ProgressModel()
Línea 224... Línea 217...
224
                model.addedOn = String(describing: String(cString: sqlite3_column_text(statement, 13)))
217
                model.addedOn = String(describing: String(cString: sqlite3_column_text(statement, 13)))
225
                model.updatedOn = String(describing: String(cString: sqlite3_column_text(statement, 14)))
218
                model.updatedOn = String(describing: String(cString: sqlite3_column_text(statement, 14)))
Línea 226... Línea 219...
226
                
219
                
227
            }
220
            }
228
        } else {
-
 
-
 
221
        } else {
229
            database.printError()
222
           
230
        }
223
        }
231
        sqlite3_finalize(statement)
224
        sqlite3_finalize(statement)
Línea 232... Línea 225...
232
        return model
225
        return model
Línea 233... Línea 226...
233
        
226
        
234
    }
-
 
-
 
227
    }
235
 
228
 
236
    func selectBySlideUuid(slideUuid: String)-> ProgressModel {
229
    func selectBySlideUuid(slideUuid: String)-> ProgressModel {
237
        let db = database.open()
230
        
238
        //var records = [ProgressModel]()
231
        //var records = [ProgressModel]()
239
        var model = ProgressModel()
232
        var model = ProgressModel()
Línea 277... Línea 270...
277
                model.completed = Int(sqlite3_column_int(statement, 12))
270
                model.completed = Int(sqlite3_column_int(statement, 12))
278
                model.addedOn = String(describing: String(cString: sqlite3_column_text(statement, 13)))
271
                model.addedOn = String(describing: String(cString: sqlite3_column_text(statement, 13)))
279
                model.updatedOn = String(describing: String(cString: sqlite3_column_text(statement, 14)))
272
                model.updatedOn = String(describing: String(cString: sqlite3_column_text(statement, 14)))
280
            }
273
            }
281
        } else {
274
        } else {
282
            database.printError()
-
 
-
 
275
           
283
        }
276
        }
284
        sqlite3_finalize(statement)
277
        sqlite3_finalize(statement)
285
        return model
278
        return model
286
    }
279
    }
Línea 287... Línea 280...
287
    
280
    
288
    
-
 
-
 
281
    
289
    func selectBySlideUuidAndUserUuid(slideUuid: String, userUuid : String)-> ProgressModel {
282
    func selectBySlideUuidAndUserUuid(slideUuid: String, userUuid : String)-> ProgressModel {
290
        let db = database.open()
283
        
291
        //var records = [ProgressModel]()
284
        //var records = [ProgressModel]()
292
        var model = ProgressModel()
285
        var model = ProgressModel()
293
        var query = "SELECT "
286
        var query = "SELECT "
Línea 331... Línea 324...
331
                model.completed = Int(sqlite3_column_int(statement, 12))
324
                model.completed = Int(sqlite3_column_int(statement, 12))
332
                model.addedOn = String(describing: String(cString: sqlite3_column_text(statement, 13)))
325
                model.addedOn = String(describing: String(cString: sqlite3_column_text(statement, 13)))
333
                model.updatedOn = String(describing: String(cString: sqlite3_column_text(statement, 14)))
326
                model.updatedOn = String(describing: String(cString: sqlite3_column_text(statement, 14)))
334
            }
327
            }
335
        } else {
328
        } else {
336
            database.printError()
-
 
-
 
329
           
337
        }
330
        }
338
        sqlite3_finalize(statement)
331
        sqlite3_finalize(statement)
339
        return model
332
        return model
340
    }
333
    }
Línea 341... Línea 334...
341
 
334
 
342
    func getCountSlideCompletedByCapsuleUuidAndUserUuid(capsuleUuid: String, userUuid: String) -> Int {
-
 
-
 
335
    func getCountSlideCompletedByCapsuleUuidAndUserUuid(capsuleUuid: String, userUuid: String) -> Int {
343
        let db = database.open()
336
        
344
        let query = "SELECT COUNT(*) AS total FROM " +  Constants.TABLE_PROGRESS +
337
        let query = "SELECT COUNT(*) AS total FROM " +  Constants.TABLE_PROGRESS +
345
        " WHERE " +  Constants.TABLE_PROGRESS_FIELD_CAPSULE_UUID + " = '\(capsuleUuid)' "  +
338
        " WHERE " +  Constants.TABLE_PROGRESS_FIELD_CAPSULE_UUID + " = '\(capsuleUuid)' "  +
346
        " AND " +  Constants.TABLE_PROGRESS_FIELD_USER_UUID + "= '\(userUuid)'" +
339
        " AND " +  Constants.TABLE_PROGRESS_FIELD_USER_UUID + "= '\(userUuid)'" +
347
        " AND " +  Constants.TABLE_PROGRESS_FIELD_TYPE + "= '\(Constants.PROGRESS_TYPE_SLIDE)'" +
340
        " AND " +  Constants.TABLE_PROGRESS_FIELD_TYPE + "= '\(Constants.PROGRESS_TYPE_SLIDE)'" +
Línea 356... Línea 349...
356
            if(sqlite3_step(statement) == SQLITE_ROW){
349
            if(sqlite3_step(statement) == SQLITE_ROW){
357
                count = Int(sqlite3_column_int(statement, 0))
350
                count = Int(sqlite3_column_int(statement, 0))
Línea 358... Línea 351...
358
                
351
                
359
            }
352
            }
360
        } else {
-
 
-
 
353
        } else {
361
            database.printError()
354
           
362
        }
355
        }
363
        sqlite3_finalize(statement)
356
        sqlite3_finalize(statement)
364
        return count;
357
        return count;
Línea 365... Línea 358...
365
    }
358
    }
366
    
-
 
-
 
359
    
367
    func getCountSlideCompletedByTopicUuidAndUserUuid(topicUuid: String, userUuid: String) -> Int {
360
    func getCountSlideCompletedByTopicUuidAndUserUuid(topicUuid: String, userUuid: String) -> Int {
368
        let db = database.open()
361
        
369
        let query = "SELECT COUNT(*) AS total FROM " +  Constants.TABLE_PROGRESS +
362
        let query = "SELECT COUNT(*) AS total FROM " +  Constants.TABLE_PROGRESS +
370
        " WHERE " +  Constants.TABLE_PROGRESS_FIELD_TOPIC_UUID + " = '\(topicUuid)' "  +
363
        " WHERE " +  Constants.TABLE_PROGRESS_FIELD_TOPIC_UUID + " = '\(topicUuid)' "  +
371
        " AND " +  Constants.TABLE_PROGRESS_FIELD_USER_UUID + "= '\(userUuid)'" +
364
        " AND " +  Constants.TABLE_PROGRESS_FIELD_USER_UUID + "= '\(userUuid)'" +
Línea 381... Línea 374...
381
            if(sqlite3_step(statement) == SQLITE_ROW){
374
            if(sqlite3_step(statement) == SQLITE_ROW){
382
                count = Int(sqlite3_column_int(statement, 0))
375
                count = Int(sqlite3_column_int(statement, 0))
Línea 383... Línea 376...
383
                
376
                
384
            }
377
            }
385
        } else {
-
 
-
 
378
        } else {
386
            database.printError()
379
           
387
        }
380
        }
388
        sqlite3_finalize(statement)
381
        sqlite3_finalize(statement)
389
        return count;
382
        return count;
Línea 390... Línea 383...
390
    }
383
    }
391
    
-
 
-
 
384
    
392
    func getCountCapsulesCompletedByUserUuid(userUuid : String) -> Int {
385
    func getCountCapsulesCompletedByUserUuid(userUuid : String) -> Int {
393
        let db = database.open()
386
        
394
        var count = 0
387
        var count = 0
395
        let query = "SELECT COUNT(*) AS total FROM " +  Constants.TABLE_PROGRESS +
388
        let query = "SELECT COUNT(*) AS total FROM " +  Constants.TABLE_PROGRESS +
396
            " WHERE " +  Constants.TABLE_PROGRESS_FIELD_USER_UUID + " = '\(userUuid)' " +
389
            " WHERE " +  Constants.TABLE_PROGRESS_FIELD_USER_UUID + " = '\(userUuid)' " +
Línea 404... Línea 397...
404
            if(sqlite3_step(statement) == SQLITE_ROW){
397
            if(sqlite3_step(statement) == SQLITE_ROW){
405
                count = Int(sqlite3_column_int(statement, 0))
398
                count = Int(sqlite3_column_int(statement, 0))
406
                //print("\(count)")
399
                //print("\(count)")
407
            }
400
            }
408
        } else {
401
        } else {
409
            database.printError()
-
 
-
 
402
           
410
        }
403
        }
411
        sqlite3_finalize(statement)
404
        sqlite3_finalize(statement)
412
        return count
405
        return count
413
    }
406
    }
Línea 414... Línea 407...
414
    
407
    
415
    func getCountCapsulesIncompletedByUserUuid(userUuid : String) -> Int {
-
 
-
 
408
    func getCountCapsulesIncompletedByUserUuid(userUuid : String) -> Int {
416
        let db = database.open()
409
        
417
        var count = 0
410
        var count = 0
418
        let query = "SELECT COUNT(*) AS total FROM " +  Constants.TABLE_PROGRESS +
411
        let query = "SELECT COUNT(*) AS total FROM " +  Constants.TABLE_PROGRESS +
419
            " WHERE " +  Constants.TABLE_PROGRESS_FIELD_USER_UUID + " = '\(userUuid)' " +
412
            " WHERE " +  Constants.TABLE_PROGRESS_FIELD_USER_UUID + " = '\(userUuid)' " +
420
            " AND " +  Constants.TABLE_PROGRESS_FIELD_TYPE + "= '\( Constants.PROGRESS_TYPE_CAPSULE)' " +
413
            " AND " +  Constants.TABLE_PROGRESS_FIELD_TYPE + "= '\( Constants.PROGRESS_TYPE_CAPSULE)' " +
Línea 427... Línea 420...
427
            if(sqlite3_step(statement) == SQLITE_ROW){
420
            if(sqlite3_step(statement) == SQLITE_ROW){
428
                count = Int(sqlite3_column_int(statement, 0))
421
                count = Int(sqlite3_column_int(statement, 0))
429
                //print("\(count)")
422
                //print("\(count)")
430
            }
423
            }
431
        } else {
424
        } else {
432
            database.printError()
-
 
-
 
425
           
433
        }
426
        }
434
        sqlite3_finalize(statement)
427
        sqlite3_finalize(statement)
435
        return count
428
        return count
436
    }
429
    }
Línea 437... Línea 430...
437
    
430
    
438
    func getCountCapsulesCompletedByTopicUuid(topicUuid : String) -> Int {
-
 
-
 
431
    func getCountCapsulesCompletedByTopicUuid(topicUuid : String) -> Int {
439
        let db = database.open()
432
        
440
        var count = 0
433
        var count = 0
441
        let query = "SELECT COUNT(*) AS total FROM " +  Constants.TABLE_PROGRESS +
434
        let query = "SELECT COUNT(*) AS total FROM " +  Constants.TABLE_PROGRESS +
442
            " WHERE " +  Constants.TABLE_PROGRESS_FIELD_TOPIC_UUID + " = '\(topicUuid)' " +
435
            " WHERE " +  Constants.TABLE_PROGRESS_FIELD_TOPIC_UUID + " = '\(topicUuid)' " +
443
            " AND " +  Constants.TABLE_PROGRESS_FIELD_TYPE + "= '\( Constants.PROGRESS_TYPE_CAPSULE)' " +
436
            " AND " +  Constants.TABLE_PROGRESS_FIELD_TYPE + "= '\( Constants.PROGRESS_TYPE_CAPSULE)' " +
Línea 450... Línea 443...
450
            if(sqlite3_step(statement) == SQLITE_ROW){
443
            if(sqlite3_step(statement) == SQLITE_ROW){
451
                count = Int(sqlite3_column_int(statement, 0))
444
                count = Int(sqlite3_column_int(statement, 0))
452
                //print("\(count)")
445
                //print("\(count)")
453
            }
446
            }
454
        } else {
447
        } else {
455
            database.printError()
-
 
-
 
448
           
456
        }
449
        }
457
        sqlite3_finalize(statement)
450
        sqlite3_finalize(statement)
458
        return count
451
        return count
459
    }
452
    }
Línea 460... Línea 453...
460
    
453
    
461
    func getCountCapsulesCompletedWithReturningByUserUuid(userUuid : String) -> Int {
-
 
-
 
454
    func getCountCapsulesCompletedWithReturningByUserUuid(userUuid : String) -> Int {
462
        let db = database.open()
455
        
463
        var count = 0
456
        var count = 0
464
        let query = "SELECT SUM(" +  Constants.TABLE_PROGRESS_FIELD_RETURNING_AFTER_COMPLETED + ") AS total FROM " +  Constants.TABLE_PROGRESS
457
        let query = "SELECT SUM(" +  Constants.TABLE_PROGRESS_FIELD_RETURNING_AFTER_COMPLETED + ") AS total FROM " +  Constants.TABLE_PROGRESS
465
            + " WHERE " +  Constants.TABLE_PROGRESS_FIELD_USER_UUID + " = '\(userUuid)' " +
458
            + " WHERE " +  Constants.TABLE_PROGRESS_FIELD_USER_UUID + " = '\(userUuid)' " +
466
            " AND " +  Constants.TABLE_PROGRESS_FIELD_TYPE + "= '\( Constants.PROGRESS_TYPE_CAPSULE)' " +
459
            " AND " +  Constants.TABLE_PROGRESS_FIELD_TYPE + "= '\( Constants.PROGRESS_TYPE_CAPSULE)' " +
Línea 474... Línea 467...
474
            if(sqlite3_step(statement) == SQLITE_ROW){
467
            if(sqlite3_step(statement) == SQLITE_ROW){
475
                count = Int(sqlite3_column_int(statement, 0))
468
                count = Int(sqlite3_column_int(statement, 0))
476
                //print("\(count)")
469
                //print("\(count)")
477
            }
470
            }
478
        } else {
471
        } else {
479
            database.printError()
-
 
-
 
472
           
480
        }
473
        }
481
        sqlite3_finalize(statement)
474
        sqlite3_finalize(statement)
482
        return count
475
        return count
483
    }
476
    }
Línea 484... Línea 477...
484
    
477
    
485
    func getCountCapsulesCompletedWithoutReturningByUserUuid(userUuid : String) -> Int {
-
 
-
 
478
    func getCountCapsulesCompletedWithoutReturningByUserUuid(userUuid : String) -> Int {
486
        let db = database.open()
479
        
487
        var count = 0
480
        var count = 0
488
        let query = "SELECT COUNT(*) AS total FROM " +  Constants.TABLE_PROGRESS + " WHERE "
481
        let query = "SELECT COUNT(*) AS total FROM " +  Constants.TABLE_PROGRESS + " WHERE "
489
            +  Constants.TABLE_PROGRESS_FIELD_USER_UUID + " = '\(userUuid)' " +
482
            +  Constants.TABLE_PROGRESS_FIELD_USER_UUID + " = '\(userUuid)' " +
490
            " AND " +  Constants.TABLE_PROGRESS_FIELD_TYPE + "= '\( Constants.PROGRESS_TYPE_CAPSULE)' " +
483
            " AND " +  Constants.TABLE_PROGRESS_FIELD_TYPE + "= '\( Constants.PROGRESS_TYPE_CAPSULE)' " +
Línea 498... Línea 491...
498
            if(sqlite3_step(statement) == SQLITE_ROW){
491
            if(sqlite3_step(statement) == SQLITE_ROW){
499
                count = Int(sqlite3_column_int(statement, 0))
492
                count = Int(sqlite3_column_int(statement, 0))
500
                //print("\(count)")
493
                //print("\(count)")
501
            }
494
            }
502
        } else {
495
        } else {
503
            database.printError()
-
 
-
 
496
           
504
        }
497
        }
505
        sqlite3_finalize(statement)
498
        sqlite3_finalize(statement)
506
        return count
499
        return count
507
    }
500
    }
Línea 508... Línea 501...
508
    
501
    
509
    func getCountCapsulesCompletedWithReturningByTopicUuid(topicUuid : String) -> Int {
-
 
-
 
502
    func getCountCapsulesCompletedWithReturningByTopicUuid(topicUuid : String) -> Int {
510
        let db = database.open()
503
        
511
        var count = 0
504
        var count = 0
512
        let query = "SELECT COUNT(*) AS total FROM " +  Constants.TABLE_PROGRESS
505
        let query = "SELECT COUNT(*) AS total FROM " +  Constants.TABLE_PROGRESS
513
            + " WHERE " +  Constants.TABLE_PROGRESS_FIELD_TOPIC_UUID + " = '\(topicUuid)' " +
506
            + " WHERE " +  Constants.TABLE_PROGRESS_FIELD_TOPIC_UUID + " = '\(topicUuid)' " +
514
            " AND " +  Constants.TABLE_PROGRESS_FIELD_TYPE + "= '\( Constants.PROGRESS_TYPE_CAPSULE)' " +
507
            " AND " +  Constants.TABLE_PROGRESS_FIELD_TYPE + "= '\( Constants.PROGRESS_TYPE_CAPSULE)' " +
Línea 522... Línea 515...
522
            if(sqlite3_step(statement) == SQLITE_ROW){
515
            if(sqlite3_step(statement) == SQLITE_ROW){
523
                count = Int(sqlite3_column_int(statement, 0))
516
                count = Int(sqlite3_column_int(statement, 0))
524
                //print("\(count)")
517
                //print("\(count)")
525
            }
518
            }
526
        } else {
519
        } else {
527
            database.printError()
-
 
-
 
520
           
528
        }
521
        }
529
        sqlite3_finalize(statement)
522
        sqlite3_finalize(statement)
530
        return count
523
        return count
531
    }
524
    }
Línea 532... Línea 525...
532
    
525
    
533
    func getCountCapsulesCompletedWithoutReturningByTopicUuid(topicUuid : String) -> Int {
-
 
-
 
526
    func getCountCapsulesCompletedWithoutReturningByTopicUuid(topicUuid : String) -> Int {
534
        let db = database.open()
527
        
535
        var count = 0
528
        var count = 0
536
        let query = "SELECT COUNT(*) AS total FROM " +  Constants.TABLE_PROGRESS + " WHERE "
529
        let query = "SELECT COUNT(*) AS total FROM " +  Constants.TABLE_PROGRESS + " WHERE "
537
            +  Constants.TABLE_PROGRESS_FIELD_TOPIC_UUID + " = '\(topicUuid)' " +
530
            +  Constants.TABLE_PROGRESS_FIELD_TOPIC_UUID + " = '\(topicUuid)' " +
538
            " AND " +  Constants.TABLE_PROGRESS_FIELD_TYPE + "= '\( Constants.PROGRESS_TYPE_CAPSULE)' " +
531
            " AND " +  Constants.TABLE_PROGRESS_FIELD_TYPE + "= '\( Constants.PROGRESS_TYPE_CAPSULE)' " +
Línea 546... Línea 539...
546
            if(sqlite3_step(statement) == SQLITE_ROW){
539
            if(sqlite3_step(statement) == SQLITE_ROW){
547
                count = Int(sqlite3_column_int(statement, 0))
540
                count = Int(sqlite3_column_int(statement, 0))
548
                //print("\(count)")
541
                //print("\(count)")
549
            }
542
            }
550
        } else {
543
        } else {
551
            database.printError()
-
 
-
 
544
           
552
        }
545
        }
553
        sqlite3_finalize(statement)
546
        sqlite3_finalize(statement)
554
        return count
547
        return count
555
    }
548
    }
Línea 556... Línea 549...
556
        
549
        
557
        
-
 
-
 
550
        
558
    func insert( record : ProgressModel) {
551
    func insert( record : ProgressModel) {
559
        let db = database.open()
552
        
560
        var query = "INSERT INTO " +  Constants.TABLE_PROGRESS + " ( "
553
        var query = "INSERT INTO " +  Constants.TABLE_PROGRESS + " ( "
561
        query = query +  Constants.TABLE_PROGRESS_FIELD_COMPANY_UUID + ", "
554
        query = query +  Constants.TABLE_PROGRESS_FIELD_COMPANY_UUID + ", "
562
        query = query +  Constants.TABLE_PROGRESS_FIELD_USER_UUID + ", "
555
        query = query +  Constants.TABLE_PROGRESS_FIELD_USER_UUID + ", "
Línea 594... Línea 587...
594
            sqlite3_bind_text(statement, 13, record.addedOn, -1, SQLITE_TRANSIENT)
587
            sqlite3_bind_text(statement, 13, record.addedOn, -1, SQLITE_TRANSIENT)
595
            sqlite3_bind_text(statement, 14, record.updatedOn, -1, SQLITE_TRANSIENT)
588
            sqlite3_bind_text(statement, 14, record.updatedOn, -1, SQLITE_TRANSIENT)
Línea 596... Línea 589...
596
            
589
            
597
           if sqlite3_step(statement) != SQLITE_DONE {
590
           if sqlite3_step(statement) != SQLITE_DONE {
598
                print("No se pudo insertar un registro en la tabla: \(Constants.TABLE_PROGRESS)")
-
 
-
 
591
                print("No se pudo insertar un registro en la tabla: \(Constants.TABLE_PROGRESS)")
Línea 599... Línea 592...
599
                database.printError()
592
               
600
               
593
               
601
           } else {
594
           } else {
602
             print("insertamos un registro de progreso")
595
             print("insertamos un registro de progreso")
603
           }
596
           }
604
        } else {
-
 
-
 
597
        } else {
605
            print("No se pudo preparar insertar un registro en la tabla: \(Constants.TABLE_PROGRESS)")
598
            print("No se pudo preparar insertar un registro en la tabla: \(Constants.TABLE_PROGRESS)")
Línea 606... Línea 599...
606
            database.printError()
599
           
607
        }
600
        }
Línea 608... Línea 601...
608
       
601
       
609
        sqlite3_finalize(statement)
-
 
-
 
602
        sqlite3_finalize(statement)
610
    }
603
    }
611
 
604
 
612
    func update(record : ProgressModel) {
605
    func update(record : ProgressModel) {
613
        let db = database.open()
606
        
614
        var query = "UPDATE " +  Constants.TABLE_PROGRESS
607
        var query = "UPDATE " +  Constants.TABLE_PROGRESS
Línea 624... Línea 617...
624
        
617
        
625
        var statement : OpaquePointer? = nil
618
        var statement : OpaquePointer? = nil
626
        if (sqlite3_prepare_v2(db, query, -1, &statement, nil) == SQLITE_OK) {
619
        if (sqlite3_prepare_v2(db, query, -1, &statement, nil) == SQLITE_OK) {
627
            if sqlite3_step(statement) != SQLITE_DONE {
620
            if sqlite3_step(statement) != SQLITE_DONE {
628
                print("No se pudo actualizar un registro en la tabla: \(Constants.TABLE_PROGRESS)")
-
 
-
 
621
                print("No se pudo actualizar un registro en la tabla: \(Constants.TABLE_PROGRESS)")
629
                database.printError()
622
               
630
            }
623
            }
631
        } else {
624
        } else {
632
            print("Fallo la preparación de actualizar un registro en la tabla: \(Constants.TABLE_PROGRESS)")
-
 
-
 
625
            print("Fallo la preparación de actualizar un registro en la tabla: \(Constants.TABLE_PROGRESS)")
633
            database.printError()
626
           
634
        }
627
        }
635
        sqlite3_finalize(statement)
628
        sqlite3_finalize(statement)
Línea 636... Línea 629...
636
    }
629
    }
637
 
-
 
-
 
630
 
638
    func remove(id: Int) {
631
    func remove(id: Int) {
639
        let db = database.open()
632
        
640
        let query = "DELETE FROM " +  Constants.TABLE_PROGRESS + " WHERE " +  Constants.TABLE_PROGRESS_FIELD_ID + " = " + "\(id) ;"
633
        let query = "DELETE FROM " +  Constants.TABLE_PROGRESS + " WHERE " +  Constants.TABLE_PROGRESS_FIELD_ID + " = " + "\(id) ;"
641
        var statement : OpaquePointer? = nil
634
        var statement : OpaquePointer? = nil
642
        if (sqlite3_prepare_v2(db, query, -1, &statement, nil) == SQLITE_OK) {
635
        if (sqlite3_prepare_v2(db, query, -1, &statement, nil) == SQLITE_OK) {
643
            if sqlite3_step(statement) != SQLITE_DONE {
-
 
-
 
636
            if sqlite3_step(statement) != SQLITE_DONE {
644
                print("No se pudo borrar un registro con el id: \(id) en la tabla: \(Constants.TABLE_PROGRESS)")
637
                print("No se pudo borrar un registro con el id: \(id) en la tabla: \(Constants.TABLE_PROGRESS)")
645
                database.printError()
638
               
646
            }
639
            }
647
        } else {
-
 
-
 
640
        } else {
648
            print("Fallo la preparación de borrar un registro con el id: \(id) en la tabla: \(Constants.TABLE_PROGRESS)")
641
            print("Fallo la preparación de borrar un registro con el id: \(id) en la tabla: \(Constants.TABLE_PROGRESS)")
649
            database.printError()
642
           
650
        }
643
        }
Línea 651... Línea 644...
651
        sqlite3_finalize(statement)
644
        sqlite3_finalize(statement)
652
    }
-
 
-
 
645
    }
653
 
646
 
654
    func removeAll() {
647
    func removeAll() {
655
        let db = database.open()
648
        
656
        let query = "DELETE FROM " +  Constants.TABLE_PROGRESS + ";"
649
        let query = "DELETE FROM " +  Constants.TABLE_PROGRESS + ";"
657
        var statement : OpaquePointer? = nil
650
        var statement : OpaquePointer? = nil
658
        if (sqlite3_prepare_v2(db, query, -1, &statement, nil) == SQLITE_OK) {
-
 
-
 
651
        if (sqlite3_prepare_v2(db, query, -1, &statement, nil) == SQLITE_OK) {
659
            if sqlite3_step(statement) != SQLITE_DONE {
652
            if sqlite3_step(statement) != SQLITE_DONE {
660
                print("No se pudo borrar todos los registros en la tabla: \(Constants.TABLE_PROGRESS)")
653
                print("No se pudo borrar todos los registros en la tabla: \(Constants.TABLE_PROGRESS)")
661
                database.printError()
654
               
662
            }
-
 
-
 
655
            }
663
        } else {
656
        } else {
664
            print("Fallo la preparación de borrar todos los registros en la tabla: \(Constants.TABLE_PROGRESS)")
657
            print("Fallo la preparación de borrar todos los registros en la tabla: \(Constants.TABLE_PROGRESS)")
665
            database.printError()
658
           
Línea 666... Línea 659...
666
        }
659
        }
667
        sqlite3_finalize(statement)
660
        sqlite3_finalize(statement)
668
    }
-
 
-
 
661
    }
669
    
662
    
670
    func removeAllUserUuidNotEqual(userUuid : String)
663
    func removeAllUserUuidNotEqual(userUuid : String)
671
    {
664
    {
672
        let db = database.open()
665
        
673
        let query = "DELETE FROM " +  Constants.TABLE_PROGRESS +
666
        let query = "DELETE FROM " +  Constants.TABLE_PROGRESS +
674
            " WHERE " + Constants.TABLE_PROGRESS_FIELD_USER_UUID + " <> '\(userUuid)' ;"
667
            " WHERE " + Constants.TABLE_PROGRESS_FIELD_USER_UUID + " <> '\(userUuid)' ;"
675
        var statement : OpaquePointer? = nil
668
        var statement : OpaquePointer? = nil
676
        if (sqlite3_prepare_v2(db, query, -1, &statement, nil) == SQLITE_OK) {
-
 
-
 
669
        if (sqlite3_prepare_v2(db, query, -1, &statement, nil) == SQLITE_OK) {
677
            if sqlite3_step(statement) != SQLITE_DONE {
670
            if sqlite3_step(statement) != SQLITE_DONE {
678
                print("No se pudo borrar todos los registros en la tabla: \(Constants.TABLE_PROGRESS)" +
671
                print("No se pudo borrar todos los registros en la tabla: \(Constants.TABLE_PROGRESS)" +
679
                " de los usuarios diferentes de : \(userUuid)" )
672
                " de los usuarios diferentes de : \(userUuid)" )
680
                database.printError()
-
 
-
 
673
               
681
            }
674
            }
682
        } else {
675
        } else {
683
            print("Fallo la preparación de borrar todos los registros en la tabla: \(Constants.TABLE_PROGRESS) de los usuarios diferentes de : \(userUuid) ")
676
            print("Fallo la preparación de borrar todos los registros en la tabla: \(Constants.TABLE_PROGRESS) de los usuarios diferentes de : \(userUuid) ")
Línea 684... Línea 677...
684
            database.printError()
677