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 CompanyDao {
11
class CompanyDao {
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: CompanyDao = {
15
    static let sharedInstance: CompanyDao = {
16
           let instance = CompanyDao()
16
           let instance = CompanyDao()
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()-> [CompanyModel] {
26
   func selectAll()-> [CompanyModel] {
24
        let db = database.open()
Línea 44... Línea 42...
44
 
42
 
45
                records.append(model)
43
                records.append(model)
Línea 46... Línea 44...
46
                //print("\nSuccessfully get records")
44
                //print("\nSuccessfully get records")
-
 
45
                
-
 
46
            }
47
                
47
        } else {
48
            }
48
            database.printError()
49
        }
49
        }
50
        sqlite3_finalize(statement)
50
        sqlite3_finalize(statement)
Línea 51... Línea 51...
51
        return records
51
        return records
-
 
52
    }
52
    }
53
 
53
 
54
    func selectByUuid(uuid : String) -> CompanyModel {
54
    func selectByUuid(uuid : String) -> CompanyModel {
55
        let db = database.open()
55
        var model = CompanyModel()
56
        var model = CompanyModel()
56
        let query = "SELECT " +
57
        let query = "SELECT " +
Línea 70... Línea 71...
70
       
71
       
71
               // print("Data selected success")
72
               // print("Data selected success")
Línea 72... Línea 73...
72
                break
73
                break
-
 
74
                
-
 
75
            }
73
                
76
        } else {
74
            }
77
            database.printError()
Línea 75... Línea 78...
75
        }
78
        }
76
        sqlite3_finalize(statement)
79
        sqlite3_finalize(statement)
Línea 77... Línea 80...
77
    
80
    
-
 
81
        return model;
78
        return model;
82
    }
79
    }
83
        
80
        
84
    func insert(company : CompanyModel) {
81
    func insert(company : CompanyModel) {
85
        let db = database.open()
82
        let query = "INSERT INTO " + Constants.TABLE_COMPANY + " ( " +
86
        let query = "INSERT INTO " + Constants.TABLE_COMPANY + " ( " +
Línea 91... Línea 95...
91
            sqlite3_bind_text(statement, 1, company.uuid, -1, SQLITE_TRANSIENT)
95
            sqlite3_bind_text(statement, 1, company.uuid, -1, SQLITE_TRANSIENT)
92
            sqlite3_bind_text(statement, 2, company.name , -1, SQLITE_TRANSIENT)
96
            sqlite3_bind_text(statement, 2, company.name , -1, SQLITE_TRANSIENT)
93
            sqlite3_bind_text(statement, 3, company.image , -1, SQLITE_TRANSIENT)
97
            sqlite3_bind_text(statement, 3, company.image , -1, SQLITE_TRANSIENT)
Línea 94... Línea 98...
94
 
98
 
95
           if sqlite3_step(statement) != SQLITE_DONE {
99
           if sqlite3_step(statement) != SQLITE_DONE {
-
 
100
                print("No se pudo insertar un registro en la tabla: \(Constants.TABLE_COMPANY)")
96
            print("No se pudo insertar un registro en la tabla: \(Constants.TABLE_COMPANY)")
101
                database.printError()
Línea 97... Línea 102...
97
           }
102
           }
98
           
103
           
-
 
104
        } else {
99
        } else {
105
            print("Fallo la preparación del insertar en la tabla \(Constants.TABLE_COMPANY) ")
Línea 100... Línea 106...
100
            print("Fallo la preparación del insertar en la tabla \(Constants.TABLE_COMPANY) ")
106
            database.printError()
101
        }
107
        }
Línea 102... Línea 108...
102
       
108
       
-
 
109
        sqlite3_finalize(statement)
103
        sqlite3_finalize(statement)
110
     }
104
     }
111
 
105
 
112
    func update(company : CompanyModel) {
106
    func update(company : CompanyModel) {
113
        let db = database.open()
107
        var query = "UPDATE " + Constants.TABLE_COMPANY
114
        var query = "UPDATE " + Constants.TABLE_COMPANY
108
        query = query + " SET " + Constants.TABLE_COMPANY_FIELD_NAME + " = '\(company.name)', "
115
        query = query + " SET " + Constants.TABLE_COMPANY_FIELD_NAME + " = '\(company.name)', "
109
        query = query + Constants.TABLE_COMPANY_FIELD_IMAGE + " = '\(company.image)' "
116
        query = query + Constants.TABLE_COMPANY_FIELD_IMAGE + " = '\(company.image)' "
110
        query = query + " WHERE " + Constants.TABLE_COMPANY_FIELD_UUID + " = '\(company.uuid)' ;"
117
        query = query + " WHERE " + Constants.TABLE_COMPANY_FIELD_UUID + " = '\(company.uuid)' ;"
-
 
118
        var statement : OpaquePointer? = nil
111
        var statement : OpaquePointer? = nil
119
        if sqlite3_prepare_v2(db, query, -1, &statement, nil) == SQLITE_OK{
112
        if sqlite3_prepare_v2(db, query, -1, &statement, nil) == SQLITE_OK{
120
            if sqlite3_step(statement) != SQLITE_DONE {
113
            if sqlite3_step(statement) != SQLITE_DONE {
121
                print("No se pudo actualizar un registro en la tabla \(Constants.TABLE_COMPANY) ")
-
 
122
                database.printError()
-
 
123
            }
-
 
124
        } else {
114
                print("No se pudo actualizar un registro en la tabla \(Constants.TABLE_COMPANY) ")
125
            print("Fallo la preparación de la actualización de la tabla \(Constants.TABLE_COMPANY)")
115
            }
126
            database.printError()
116
        } else {
127
            
Línea 117... Línea 128...
117
            print("Fallo la preparación de la actualización de la tabla \(Constants.TABLE_COMPANY)")
128
            
-
 
129
        }
118
        }
130
        sqlite3_finalize(statement)
119
        sqlite3_finalize(statement)
131
    }
120
    }
132
 
121
 
133
    func removeAll() {
122
    func removeAll() {
134
        let db = database.open()
-
 
135
        let query = "DELETE FROM " +  Constants.TABLE_COMPANY + ";"
123
        let query = "DELETE FROM " +  Constants.TABLE_COMPANY + ";"
136
        var statement : OpaquePointer? = nil
124
        var statement : OpaquePointer? = nil
137
        if sqlite3_prepare_v2(db, query, -1, &statement, nil) == SQLITE_OK{
125
        if sqlite3_prepare_v2(db, query, -1, &statement, nil) == SQLITE_OK{
138
            if sqlite3_step(statement) != SQLITE_DONE {
-
 
139
                print("No se pudieron borrar todos los registros de la tabla: \(Constants.TABLE_COMPANY)")
126
            if sqlite3_step(statement) != SQLITE_DONE {
140
                database.printError()
127
                print("No se pudieron borrar todos los registros de la tabla: \(Constants.TABLE_COMPANY)")
141
            }
128
            }
142
        } else {
Línea 129... Línea 143...
129
        } else {
143
            print("Fallo la preparación para borrar todos los registros de la tabla: \(Constants.TABLE_COMPANY)")