Proyectos de Subversion Iphone Microlearning - Nuevo Interface

Rev

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

Rev 11 Rev 19
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 UserExtendedDao {
11
class UserExtendedDao {
12
    private let SQLITE_TRANSIENT = unsafeBitCast(-1, to: sqlite3_destructor_type.self)
12
    private let SQLITE_TRANSIENT = unsafeBitCast(-1, to: sqlite3_destructor_type.self)
Línea 13... Línea 13...
13
    private var db : OpaquePointer?
13
    private var database = Database.sharedInstance
14
    
14
    
Línea 15... Línea 15...
15
    static let sharedInstance: UserExtendedDao = {
15
    static let sharedInstance: UserExtendedDao = {
16
           let instance = UserExtendedDao()
16
           let instance = UserExtendedDao()
17
           
17
           
18
           // setup code
18
           // setup code
19
           return instance
-
 
20
    }()
-
 
21
    
-
 
Línea 22... Línea 19...
22
    init() {
19
           return instance
-
 
20
    }()
23
        self.db = Database.sharedInstance.open()
21
 
Línea 24... Línea 22...
24
    }
22
 
25
 
23
    func selectAll()-> [UserExtendedModel] {
26
    func selectAll()-> [UserExtendedModel] {
24
        let db = database.open()
Línea 46... Línea 44...
46
 
44
 
47
                 records.append(model)
45
                 records.append(model)
Línea 48... Línea 46...
48
                 //print("\nSuccessfully get records")
46
                 //print("\nSuccessfully get records")
-
 
47
                 
-
 
48
             }
49
                 
49
         } else {
50
             }
50
            database.printError()
51
         }
51
         }
52
         sqlite3_finalize(statement)
52
         sqlite3_finalize(statement)
Línea 53... Línea 53...
53
         return records
53
         return records
-
 
54
     }
54
     }
55
    
Línea 55... Línea 56...
55
    
56
    
56
    
57
    func selectAllByCompanyUuid(companyUuid : String)-> [UserExtendedModel] {
57
    func selectAllByCompanyUuid(companyUuid : String)-> [UserExtendedModel] {
58
        let db = database.open()
Línea 79... Línea 80...
79
 
80
 
80
                 records.append(model)
81
                 records.append(model)
Línea 81... Línea 82...
81
                 //print("\nSuccessfully get records")
82
                 //print("\nSuccessfully get records")
-
 
83
                 
-
 
84
             }
82
                 
85
         } else {
83
             }
86
            database.printError()
84
         }
87
         }
85
         sqlite3_finalize(statement)
88
         sqlite3_finalize(statement)
Línea 86... Línea 89...
86
         return records
89
         return records
-
 
90
     }
87
     }
91
    
88
    
92
    func insert(record : UserExtendedModel) {
89
    func insert(record : UserExtendedModel) {
93
        let db = database.open()
90
        var query = "INSERT INTO " + Constants.TABLE_USER_EXTENDED + " ( "
94
        var query = "INSERT INTO " + Constants.TABLE_USER_EXTENDED + " ( "
91
        query = query + Constants.TABLE_USER_EXTENDED_FIELD_UUID + " , "
95
        query = query + Constants.TABLE_USER_EXTENDED_FIELD_UUID + " , "
Línea 104... Línea 108...
104
            sqlite3_bind_text(statement, 3, record.label, -1, SQLITE_TRANSIENT )
108
            sqlite3_bind_text(statement, 3, record.label, -1, SQLITE_TRANSIENT )
105
            sqlite3_bind_text(statement, 4, record.value, -1, SQLITE_TRANSIENT)
109
            sqlite3_bind_text(statement, 4, record.value, -1, SQLITE_TRANSIENT)
Línea 106... Línea 110...
106
            
110
            
107
            if (sqlite3_step(statement) != SQLITE_DONE) {
111
            if (sqlite3_step(statement) != SQLITE_DONE) {
-
 
112
                print("No se pudo insertar un registro en la tabla: \(Constants.TABLE_USER_EXTENDED)")
108
                print("No se pudo insertar un registro en la tabla: \(Constants.TABLE_USER_EXTENDED)")
113
                database.printError()
109
            } else {
114
            } else {
110
                print("Insertamos un registo en la tabla: \(Constants.TABLE_USER_EXTENDED)")
115
                print("Insertamos un registo en la tabla: \(Constants.TABLE_USER_EXTENDED)")
111
            }
116
            }
112
        } else {
117
        } else {
-
 
118
            print("Fallo la preparación en el insertar un registro en la tabla: \(Constants.TABLE_USER_EXTENDED)")
113
            print("Fallo la preparación en el insertar un registro en la tabla: \(Constants.TABLE_USER_EXTENDED)")
119
            database.printError()
Línea 114... Línea 120...
114
        }
120
        }
115
       
121
       
Línea 116... Línea 122...
116
        sqlite3_finalize(statement)
122
        sqlite3_finalize(statement)
-
 
123
    }
117
    }
124
 
118
 
125
    
119
    
126
    func removeAll() {
120
    func removeAll() {
127
        let db = database.open()
121
        let query = "DELETE FROM " + Constants.TABLE_USER_EXTENDED + ";"
128
        let query = "DELETE FROM " + Constants.TABLE_USER_EXTENDED + ";"
-
 
129
        var statement : OpaquePointer? = nil
-
 
130
        if sqlite3_prepare_v2(db, query, -1, &statement, nil) == SQLITE_OK{
122
        var statement : OpaquePointer? = nil
131
            if sqlite3_step(statement) != SQLITE_DONE {
123
        if sqlite3_prepare_v2(db, query, -1, &statement, nil) == SQLITE_OK{
132
                print("No se pudo borrar todos los registros en la tabla: \(Constants.TABLE_USER_EXTENDED)")
-
 
133
                database.printError()
124
            if sqlite3_step(statement) != SQLITE_DONE {
134
            }
125
                print("No se pudo borrar todos los registros en la tabla: \(Constants.TABLE_USER_EXTENDED)")            }
135
        } else {
126
        } else {
136
            print("Fallo la preparación de borrar todos los registros en la tabla: \(Constants.TABLE_USER_EXTENDED)")