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 CompanyDao {
11
class CompanyDao {
-
 
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
-
 
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 22... Línea 15...
22
 
15
 
23
   func selectAll()-> [CompanyModel] {
16
   func selectAll()-> [CompanyModel] {
24
        let db = database.open()
17
       let db = database.open()
Línea 43... Línea 36...
43
                records.append(model)
36
                records.append(model)
44
                //print("\nSuccessfully get records")
37
                //print("\nSuccessfully get records")
Línea 45... Línea 38...
45
                
38
                
46
            }
39
            }
47
        } else {
-
 
-
 
40
        } else {
48
            database.printError()
41
           
49
        }
42
        }
50
        sqlite3_finalize(statement)
43
        sqlite3_finalize(statement)
51
        return records
44
        return records
Línea 72... Línea 65...
72
               // print("Data selected success")
65
               // print("Data selected success")
73
                break
66
                break
Línea 74... Línea 67...
74
                
67
                
75
            }
68
            }
76
        } else {
-
 
-
 
69
        } else {
77
            database.printError()
70
           
78
        }
71
        }
Línea 79... Línea 72...
79
        sqlite3_finalize(statement)
72
        sqlite3_finalize(statement)
80
    
73
    
Línea 96... Línea 89...
96
            sqlite3_bind_text(statement, 2, company.name , -1, SQLITE_TRANSIENT)
89
            sqlite3_bind_text(statement, 2, company.name , -1, SQLITE_TRANSIENT)
97
            sqlite3_bind_text(statement, 3, company.image , -1, SQLITE_TRANSIENT)
90
            sqlite3_bind_text(statement, 3, company.image , -1, SQLITE_TRANSIENT)
Línea 98... Línea 91...
98
 
91
 
99
           if sqlite3_step(statement) != SQLITE_DONE {
92
           if sqlite3_step(statement) != SQLITE_DONE {
100
                print("No se pudo insertar un registro en la tabla: \(Constants.TABLE_COMPANY)")
-
 
-
 
93
                print("No se pudo insertar un registro en la tabla: \(Constants.TABLE_COMPANY)")
101
                database.printError()
94
               
Línea 102... Línea 95...
102
           }
95
           }
103
           
96
           
104
        } else {
-
 
-
 
97
        } else {
105
            print("Fallo la preparación del insertar en la tabla \(Constants.TABLE_COMPANY) ")
98
            print("Fallo la preparación del insertar en la tabla \(Constants.TABLE_COMPANY) ")
Línea 106... Línea 99...
106
            database.printError()
99
           
107
        }
100
        }
Línea 117... Línea 110...
117
        query = query + " WHERE " + Constants.TABLE_COMPANY_FIELD_UUID + " = '\(company.uuid)' ;"
110
        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) ")
114
                print("No se pudo actualizar un registro en la tabla \(Constants.TABLE_COMPANY) ")
122
                database.printError()
-
 
-
 
115
               
123
            }
116
            }
124
        } else {
117
        } else {
125
            print("Fallo la preparación de la actualización de la tabla \(Constants.TABLE_COMPANY)")
118
            print("Fallo la preparación de la actualización de la tabla \(Constants.TABLE_COMPANY)")
126
            database.printError()
-
 
-
 
119
           
Línea 127... Línea 120...
127
            
120
            
128
            
121
            
129
        }
122
        }
Línea 135... Línea 128...
135
        let query = "DELETE FROM " +  Constants.TABLE_COMPANY + ";"
128
        let query = "DELETE FROM " +  Constants.TABLE_COMPANY + ";"
136
        var statement : OpaquePointer? = nil
129
        var statement : OpaquePointer? = nil
137
        if sqlite3_prepare_v2(db, query, -1, &statement, nil) == SQLITE_OK{
130
        if sqlite3_prepare_v2(db, query, -1, &statement, nil) == SQLITE_OK{
138
            if sqlite3_step(statement) != SQLITE_DONE {
131
            if sqlite3_step(statement) != SQLITE_DONE {
139
                print("No se pudieron borrar todos los registros de la tabla: \(Constants.TABLE_COMPANY)")
132
                print("No se pudieron borrar todos los registros de la tabla: \(Constants.TABLE_COMPANY)")
140
                database.printError()
-
 
-
 
133
               
141
            }
134
            }
142
        } else {
135
        } else {
143
            print("Fallo la preparación para borrar todos los registros de la tabla: \(Constants.TABLE_COMPANY)")
136
            print("Fallo la preparación para borrar todos los registros de la tabla: \(Constants.TABLE_COMPANY)")
144
            database.printError()
-
 
-
 
137
           
145
        }
138
        }
146
        sqlite3_finalize(statement)
139
        sqlite3_finalize(statement)
147
    }
140
    }
Línea 148... Línea 141...
148
    
141