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