Proyectos de Subversion Iphone Microlearning - Nuevo Interface

Rev

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

Rev 19 Rev 61
Línea 3... Línea 3...
3
//  twogetskills
3
//  twogetskills
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
import UIKit
8
import SwiftUI
Línea 9... Línea 9...
9
import SQLite3
9
import SQLite3
-
 
10
 
10
 
11
class CapsuleDao {
11
class CapsuleDao {
-
 
12
    private let SQLITE_TRANSIENT = unsafeBitCast(-1, to: sqlite3_destructor_type.self)
-
 
13
    private var database = Database.sharedInstance
-
 
14
    
-
 
15
    static let sharedInstance: CapsuleDao = {
-
 
16
           let instance = CapsuleDao()
-
 
17
           
-
 
18
           // setup code
-
 
Línea 19... Línea 12...
19
           return instance
12
    private var database = Environment(\.database).wrappedValue
20
    }()
13
    private let SQLITE_TRANSIENT = unsafeBitCast(-1, to: sqlite3_destructor_type.self)
21
    
14
    
Línea 55... Línea 48...
55
        }
48
        }
56
        sqlite3_finalize(statement)
49
        sqlite3_finalize(statement)
57
        return count
50
        return count
58
    }
51
    }
Línea 59... Línea 52...
59
    
52
    
60
    func selectAll()-> [CapsuleModel] {
53
    func selectAll() -> [CapsuleModel] {
61
        let db = database.open()
54
        let db = database.open()
62
        var records = [CapsuleModel]()
55
        var records = [CapsuleModel]()
63
        var query = "SELECT "
56
        var query = "SELECT "
64
        query = query + Constants.TABLE_CAPSULE_FIELD_UUID + ", "
57
        query = query + Constants.TABLE_CAPSULE_FIELD_UUID + ", "
Línea 513... Línea 506...
513
                model.addedOn = String(describing: String(cString: sqlite3_column_text(statement, 10)))
506
                model.addedOn = String(describing: String(cString: sqlite3_column_text(statement, 10)))
514
                model.updatedOn  = String(describing: String(cString: sqlite3_column_text(statement, 11)))
507
                model.updatedOn  = String(describing: String(cString: sqlite3_column_text(statement, 11)))
Línea 515... Línea 508...
515
                
508
                
516
            }
509
            }
517
        } else {
-
 
-
 
510
        } else {
518
            database.printError()
511
           
519
        }
512
        }
520
        sqlite3_finalize(statement)
513
        sqlite3_finalize(statement)
521
        return model
514
        return model
Línea 556... Línea 549...
556
            sqlite3_bind_text(statement, 12, capsule.updatedOn , -1, SQLITE_TRANSIENT)
549
            sqlite3_bind_text(statement, 12, capsule.updatedOn , -1, SQLITE_TRANSIENT)
Línea 557... Línea 550...
557
 
550
 
558
           if (sqlite3_step(statement) != SQLITE_DONE) {
551
           if (sqlite3_step(statement) != SQLITE_DONE) {
Línea 559... Línea -...
559
                print("No se pudo insertar un registro en la tabla: \(Constants.TABLE_CAPSULE)")
-
 
-
 
552
                print("No se pudo insertar un registro en la tabla: \(Constants.TABLE_CAPSULE)")
560
            
553
            
561
                database.printError()
554
               
562
           }
555
           }
Línea 563... Línea -...
563
        } else {
-
 
-
 
556
        } else {
564
            print("Fallo la prepración de insertar un registro en la tabla: \(Constants.TABLE_CAPSULE)")
557
            print("Fallo la prepración de insertar un registro en la tabla: \(Constants.TABLE_CAPSULE)")
Línea 565... Línea 558...
565
            
558
            
566
            database.printError()
559
           
Línea 586... Línea 579...
586
        var statement : OpaquePointer? = nil
579
        var statement : OpaquePointer? = nil
587
        if (sqlite3_prepare_v2(db, query, -1, &statement, nil) == SQLITE_OK) {
580
        if (sqlite3_prepare_v2(db, query, -1, &statement, nil) == SQLITE_OK) {
588
            if (sqlite3_step(statement) != SQLITE_DONE) {
581
            if (sqlite3_step(statement) != SQLITE_DONE) {
589
                print("No se pudo actualizar un registro en la tabla: \(Constants.TABLE_CAPSULE)")
582
                print("No se pudo actualizar un registro en la tabla: \(Constants.TABLE_CAPSULE)")
Línea 590... Línea -...
590
           
-
 
-
 
583
           
591
                database.printError()
584
               
592
            }
585
            }
593
        } else {
586
        } else {
Línea 594... Línea -...
594
            print("Fallo la preparación para actualizar un registro en la tabla: \(Constants.TABLE_CAPSULE)")
-
 
-
 
587
            print("Fallo la preparación para actualizar un registro en la tabla: \(Constants.TABLE_CAPSULE)")
595
            
588
            
596
            database.printError()
589
           
597
        }
590
        }
Línea 607... Línea 600...
607
        var statement : OpaquePointer? = nil
600
        var statement : OpaquePointer? = nil
608
        if (sqlite3_prepare_v2(db, query, -1, &statement, nil) == SQLITE_OK) {
601
        if (sqlite3_prepare_v2(db, query, -1, &statement, nil) == SQLITE_OK) {
609
            if (sqlite3_step(statement) != SQLITE_DONE) {
602
            if (sqlite3_step(statement) != SQLITE_DONE) {
610
                print("No se pudo borrar el registro con el uuid: \(uuid) en la tabla: \(Constants.TABLE_CAPSULE)")
603
                print("No se pudo borrar el registro con el uuid: \(uuid) en la tabla: \(Constants.TABLE_CAPSULE)")
Línea 611... Línea -...
611
                
-
 
-
 
604
                
612
                database.printError()
605
               
613
            }
606
            }
614
        } else {
607
        } else {
Línea 615... Línea -...
615
            print("Fallo la preparación de borrar un registro con el uuid: \(uuid) en la tabla: \(Constants.TABLE_CAPSULE)")
-
 
-
 
608
            print("Fallo la preparación de borrar un registro con el uuid: \(uuid) en la tabla: \(Constants.TABLE_CAPSULE)")
616
            
609
            
617
            database.printError()
610
           
618
        }
611
        }
Línea 619... Línea 612...
619
        sqlite3_finalize(statement)
612
        sqlite3_finalize(statement)
Línea 625... Línea 618...
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 borrar todos los registros en la tabla: \(Constants.TABLE_CAPSULE)")
621
                print("No se pudo borrar todos los registros en la tabla: \(Constants.TABLE_CAPSULE)")
Línea 629... Línea -...
629
                
-
 
-
 
622
                
630
                database.printError()
623
               
631
            }
624
            }
632
        } else {
625
        } else {
Línea 633... Línea -...
633
            print("No se pudo preparar el borrar todos los registros en la tabla: \(Constants.TABLE_CAPSULE)")
-
 
-
 
626
            print("No se pudo preparar el borrar todos los registros en la tabla: \(Constants.TABLE_CAPSULE)")
634
            
627
            
635
            database.printError()
628
           
636
        }
629
        }
Línea 637... Línea 630...
637
        sqlite3_finalize(statement)
630
        sqlite3_finalize(statement)